the first to of the global return value. This behavior is odd and
relying on it should be discouraged, and thus is not supported by
gmqcc.
+.It Fl f Ns Cm ftepp-mathdefs
+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:
+.Bd -literal -offset indent
+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
+.Ed
.It Fl f Ns Cm relaxed-switch
Allow switch cases to use non constant variables.
.It Fl f Ns Cm short-logic
ftepp_add_macro(ftepp, "__NULL__", "nil");
/* add all the math constants if they can be */
- for (i = 0; i < GMQCC_ARRAY_COUNT(ftepp_math_constants); i++)
- if (!ftepp_macro_find(ftepp, ftepp_math_constants[i][0]))
- ftepp_add_macro(ftepp, ftepp_math_constants[i][0], ftepp_math_constants[i][1]);
+ if (OPTS_FLAG(FTEPP_MATHDEFS)) {
+ for (i = 0; i < GMQCC_ARRAY_COUNT(ftepp_math_constants); i++)
+ if (!ftepp_macro_find(ftepp, ftepp_math_constants[i][0]))
+ ftepp_add_macro(ftepp, ftepp_math_constants[i][0], ftepp_math_constants[i][1]);
+ }
return ftepp;
}
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
GMQCC_DEFINE_FLAG(ADJUST_VECTOR_FIELDS)
GMQCC_DEFINE_FLAG(FTEPP)
GMQCC_DEFINE_FLAG(FTEPP_PREDEFS)
+ GMQCC_DEFINE_FLAG(FTEPP_MATHDEFS)
GMQCC_DEFINE_FLAG(RELAXED_SWITCH)
GMQCC_DEFINE_FLAG(SHORT_LOGIC)
GMQCC_DEFINE_FLAG(PERL_LOGIC)