X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=doc%2Fgmqcc.1;h=e88acd9882f33134845987a3e6ac4faf525886a6;hp=a940f4235a6541478aecf48c1aae7d5d2559f39d;hb=6424ebaf98262bfd65a48b644b57fdf99b7866a9;hpb=e928cabfb20527b49e63f615ab04157f69e6efb2 diff --git a/doc/gmqcc.1 b/doc/gmqcc.1 index a940f42..e88acd9 100644 --- a/doc/gmqcc.1 +++ b/doc/gmqcc.1 @@ -327,10 +327,27 @@ it can happen that incompatible types are passed to functions. This enables several warnings when static typechecking cannot guarantee consistent behavior. .It Fl W Ns Cm breakdef -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. +will print a warning when the definition occurs. The definition is +ignored for both cases. +.It Fl W Ns Cm const-overwrite +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. +.It Fl W Ns Cm directive-inmacro +Warn about the use of preprocessor directives inside macros. +.It Fl W Ns Cm builtins +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. +.It Fl W Ns Cm inexact-compares +When comparing an inexact value such as `1.0/3.0' the result is +pathologically wrong. Enabling this will trigger a compiler warning +on such expressions. .El .Sh COMPILE FLAGS .Bl -tag -width Ds @@ -384,6 +401,26 @@ only the first component will be 0, while the other two will become 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