X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fgmqcc.1;h=a940f4235a6541478aecf48c1aae7d5d2559f39d;hb=e928cabfb20527b49e63f615ab04157f69e6efb2;hp=9220e242eca811432d11e41b7f36fe8b2c956643;hpb=6f749d61b1688752bb902efd635f55d584ad7087;p=xonotic%2Fgmqcc.git diff --git a/doc/gmqcc.1 b/doc/gmqcc.1 index 9220e24..a940f42 100644 --- a/doc/gmqcc.1 +++ b/doc/gmqcc.1 @@ -153,7 +153,7 @@ Adds compiler information to the generated binary file. Currently this includes the following globals: .Bl -tag -width indent -compact .It Li reserved:version -String containing the compiler version as printed by the --version +String containing the compiler version as printed by the \-\-version parameter. .El .It Fl -correct , Fl -no-correct @@ -326,6 +326,11 @@ When passing variadic parameters via 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` +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. .El .Sh COMPILE FLAGS .Bl -tag -width Ds @@ -346,7 +351,7 @@ features used in the Xonotic codebase. If you need more, write a ticket. .It Fl f Ns Cm ftepp-predefs Enable some predefined macros. This only works in combination with -\'-fftepp' and is currently not included by '-std=fteqcc'. The +\'\-fftepp' and is currently not included by '\-std=fteqcc'. The following macros will be added: .Bd -literal -offset indent __LINE__ @@ -530,6 +535,15 @@ 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. +.It Fl f Ns Cm typeless-stores +Always use STORE_F, LOAD_F, STOREP_F when accessing scalar variables. +This is somewhat incorrect assembly instruction use, but in all engines +they do exactly the same. This makes disassembly output harder to read, +breaks decompilers, but causes the output file to be better compressible. +.It Fl f Ns Cm sort-operands +In commutative instructions, always put the lower-numbered operand first. +This shaves off 1 byte of entropy from all these instructions, reducing +compressed size of the output file. .El .Sh OPTIMIZATIONS .Bl -tag -width Ds @@ -574,7 +588,7 @@ string being added. .Pp For example the following code will only generate 1 string: .Bd -literal -offset indent -print("Hell you!\\n"); +print("Hello you!\\n"); print("you!\\n"); // trailing substring of "Hello you!\\n" .Ed .Pp @@ -659,7 +673,7 @@ A documented example for a gmqcc.ini file. .Sh AUTHOR See . .Sh BUGS -Currently the '-fftepp-predefs' flag is not included by '-std=fteqcc', +Currently the '\-fftepp-predefs' flag is not included by '\-std=fteqcc', partially because it is not entirely conformant to fteqcc. .Pp Please report bugs on ,