]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.ini.example
Merge pull request #180 from xonotic/mem_leak_fix_on_failure_paths
[xonotic/gmqcc.git] / gmqcc.ini.example
index f7f391396c9d61dc96f0f4e86a388a4294db9799..5c1ad3777a8c999ad7815492da0fec9f0ba3d927 100644 (file)
     FTEPP_MATHDEFS = false
 
 
+    #Enable indirect macro expansion. This only works in combination
+    #with '-fftepp' and is currently not included by '-std=fteqcc'.
+    #Enabling this behavior will allow the preprocessor to operate more
+    #like the standard C preprocessor in that it will allow arguments
+    #of macros which are macro-expanded to be substituted into the
+    #definition of the macro. As an example:
+    #
+    #   #define STR1(x) #x
+    #   #define STR2(x) STR1(x)
+    #   #define THE_ANSWER 42
+    #   #define THE_ANSWER_STR STR2(THE_ANSWER) /* "42" */
+    #
+    #With this enabled, an expansion of THE_ANSWER_STR will yield
+    #the string "42". With this disabled an expansion of THE_ANSWER_STR
+    #will yield "THE_ANSWER"
+
+    FTEPP_INDIRECT_EXPANSION = false
+
+
     #Allow switch cases to use non constant variables.
 
     RELAXED_SWITCH = true
     SORT_OPERANDS = false
 
 
+    #Emulate OP_STATE operations in code rather than using the instruction.
+    #The desired fps can be set via -state-fps=NUM, defaults to 10.
+
+    EMULATE_STATE = false
+
+
     #Turn on arithmetic exception tests in the compiler. In constant expressions
     #which trigger exceptions like division by zero, overflow, underflow, etc,
     #the following flag will produce diagnostics for what triggered that
     #exception.
     ARITHMETIC_EXCEPTIONS = false
 
+    #Split vector-literals which are only used dirctly as function parameters
+    #into 3 floats stored separately to reduce the number of globals at the
+    #expense of additional instructions.
+    SPLIT_VECTOR_PARAMETERS = false
+
 [warnings]
     #Generate a warning about variables which are declared but never
-    #used.  This can be avoided by adding the ‘noref’ keyword in front
+    #used. This can be avoided by adding the ‘noref’ keyword in front
     #of the variable declaration. Additionally a complete section of
     #unreferenced variables can be opened using ‘#pragma noref 1’ and
     #closed via ‘#pragma noref 0’.
     UNUSED_VARIABLE = false
 
 
+    #Generate a warning about vector variables which are declared but
+    #components of it are never used.
+
+    UNUSED_COMPONENT = false
+
     #Generate a warning if it is possible that a variable can be used
     #without prior initialization. Note that this warning is not nec‐
     #essarily reliable if the initialization happens only under cer‐