# Prevent the creation of _x, _y and _z progdefs for vectors
SINGLE_VECTOR_DEFS = false
- # Use cast vectors to real booleans when used in logic expressions
+ # Cast vectors to real booleans when used in logic expressions.
# This is achieved by using NOT_V.
CORRECT_LOGIC = false
# variables with the name 'nil' to be declared.
PREMISSIVE = false
+ # Allow vararg access from within QC of the form: ...(argnumber, type)
+ VARIADIC_ARGS = true
+
+ # Most Quake VMs, including the one from FTEQW or up till recently
+ # Darkplaces, do not cope well with vector instructions with overlapping
+ # input and output. This option will avoid producing such code.
+ LEGACY_VECTOR_MATHS = true
+
+ # Builtin-numbers are usually just immediate constants.
+ # The following allows whole expressions to be used, as long as they
+ # are compile-time constant.
+ EXPRESSIONS_FOR_BUILTINS = false
+
# These are all the warnings, usually present via the -W prefix from
# the command line.
[warnings]
MISSING_RETURN_VALUES = true
# Enables warnings about missing parameters for function calls.
- TOO_FEW_PARAMETERS = true
+ INVALID_PARAMETER_COUNT = true
# Enables warnings about locals shadowing parameters or other locals.
LOCAL_SHADOWS = true
# Warn about non-constant global variables with no initializing value.
UNINITIALIZED_GLOBAL = true
+ # Redeclaring a 'const' as 'var' or the other way round.
+ DIFFERENT_QUALIFIERS = true
+
+ # Redeclaring a function with different attributes such as
+ # [[noreturn]]
+ DIFFERENT_ATTRIBUTES = true
+
+ # Warn when a function is marked with the attribute
+ # "[[deprecated]]". This flag enables a warning on calls to functions
+ # marked as such.
+ DEPRECATED = true
+
+ # Warn about possible problems from missing parenthesis, like an
+ # assignment used as truth value without additional parens around.
+ PARENTHESIS = true
+
# Finally these are all the optimizations, usually present via the -O
# prefix from the command line.
[optimizations]
# Do not create a RETURN instruction at the end functions of return-type void.
VOID_RETURN = true
+
+ # Turn extraction-multiplications such as (a_vector * '0 1 0')
+ # into direct component accesses
+ VECTOR_COMPONENTS = true