X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=doc%2Fgmqcc.1;h=9220e242eca811432d11e41b7f36fe8b2c956643;hb=7669a99c7f03f92f78c2bfe0968b1d8789512ff5;hp=6ede944f1ffb68be44140899140e0ae7ba1e8439;hpb=0eab97283f30db40344105a699440d7b5fbd2f96;p=xonotic%2Fgmqcc.git diff --git a/doc/gmqcc.1 b/doc/gmqcc.1 index 6ede944..9220e24 100644 --- a/doc/gmqcc.1 +++ b/doc/gmqcc.1 @@ -320,6 +320,12 @@ marked as such. Warn about possible mistakes caused by missing or wrong parenthesis, like an assignment in an 'if' condition when there's no additional set of parens around the assignment. +.It Fl W Ns Cm unsafe-types +When passing variadic parameters via +.Li ...(N) +it can happen that incompatible types are passed to functions. This +enables several warnings when static typechecking cannot guarantee +consistent behavior. .El .Sh COMPILE FLAGS .Bl -tag -width Ds @@ -518,6 +524,12 @@ float fun() { return = bar(); return; // returns value of bar } +.Ed +.It Fl f Ns Cm unsafe-varargs +When passing on varargs to a different functions, this turns some +static error cases into warnings. Like when the caller's varargs are +restricted to a different type than the callee's parameter. Or a list +of unrestricted varargs is passed into restricted varargs. .El .Sh OPTIMIZATIONS .Bl -tag -width Ds @@ -594,6 +606,10 @@ in this case, the y component of a vector. This optimization will turn such a multiplication into a direct component access. If the factor is anything other than 1, a float-multiplication will be added, which is still faster than a vector multiplication. +.It Fl O Ns Cm const-fold-dce +For constant expressions that result in dead code (such as a branch whos +condition can be evaluated at compile-time), this will eliminate the branch +and else body (if present) to produce more optimal code. .El .Sh CONFIG The configuration file is similar to regular .ini files. Comments