X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=gmqcc.ini.example;h=20680d372771cc2d0972e8508fa3632ff2cc5849;hb=8c0a280a3e0db2e50998a6bf9623dd7f4cb6fb8c;hp=9dbb6fbbc91d2a74ab4edf9c1b484e6646fb2064;hpb=581d0dfc15825abeb38d781e9f87b98e67c04407;p=xonotic%2Fgmqcc.git diff --git a/gmqcc.ini.example b/gmqcc.ini.example index 9dbb6fb..20680d3 100644 --- a/gmqcc.ini.example +++ b/gmqcc.ini.example @@ -31,7 +31,7 @@ #write a ticket. FTEPP = true - + #Enable some predefined macros. This only works in combination #with '-fftepp' and is currently not included by '-std=fteqcc'. @@ -62,6 +62,28 @@ FTEPP_PREDEFS = false + #Enable math constant definitions. This only works in combination + #with '-fftepp' and is currently not included by '-std=fteqcc'. + #The following macros will be added: + # + # M_E + # M_LOG2E + # M_LOG10E + # M_LN2 + # M_LN10 + # M_PI + # M_PI_2 + # M_PI_4 + # M_1_PI + # M_2_PI + # M_2_SQRTPI + # M_SQRT2 + # M_SQRT1_2 + # M_TAU + + FTEPP_MATHDEFS = false + + #Allow switch cases to use non constant variables. RELAXED_SWITCH = true @@ -516,13 +538,36 @@ UNSAFE_TYPES = true - #When compiling original id1 QC, there is a definition for `break` + #When compiling original id1 QC there is a definition for `break` #which conflicts with the 'break' keyword in GMQCC. Enabling this - #warning will print a warning when the definition occurs. The - #definition is ignored for both cases. + #print a warning when the definition occurs. The definition is + #ignored for both cases. BREAKDEF = true + + #When compiling original QuakeWorld QC there are instances where + #code overwrites constants. This is considered an error, however + #for QuakeWorld to compile it needs to be treated as a warning + #instead, as such this warning only works when -std=qcc. + + CONST_OVERWRITE = true + + + #Warn about the use of preprocessor directives inside macros. + + DIRECTIVE_INMACRO = true + + + #When using a function that is not explicitly defined, the compiler + #will search its intrinsics table for something that matches that + #function name by appending "__builtin_" to it. This behaviour may + #be unexpected, so enabling this will produce a diagnostic when + #such a function is resolved to a builtin. + + BUILTINS = true + + [optimizations] #Some general peephole optimizations. For instance the code `a = b #+ c` typically generates 2 instructions, an ADD and a STORE. This @@ -553,7 +598,6 @@ OVERLAP_LOCALS = true - #This promotes locally declared variables to "temps". Meaning when #a temporary result of an operation has to be stored somewhere, a #local variable which is not 'alive' at that point can be used to @@ -563,7 +607,7 @@ LOCAL_TEMPS = true - + #Causes temporary values which do not need to be backed up on a #CALL to not be stored in the function's locals-area. With this, a #CALL to a function may need to back up fewer values and thus exe‐ @@ -636,6 +680,7 @@ CONST_FOLD_DCE = true + #For constant expressions we can fold them to immediate values. #this option cannot be disabled or enabled, the compiler forces #it to stay enabled by ignoring the value entierly. There are