]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - doc/gmqcc.1
manpage: --add-info
[xonotic/gmqcc.git] / doc / gmqcc.1
index 940afd0fa04919ccd81054ec782ee0d7ae66d5c1..ed88235ebbf77972405a4f4d91a2eb2b57fa218b 100644 (file)
@@ -142,6 +142,15 @@ them.
 .fi
 .in
 .TP
+.B "--add-info"
+Adds compiler information to the generated binary file. Currently
+this includes the following globals:
+.RS
+.IP "reserved:version"
+String containing the compiler version as printed by the --version
+parameter.
+.RE
+.TP
 .B "-dump"
 DEBUG OPTION. Print the code's intermediate representation before the
 optimization and finalization passes to stdout before generating the
@@ -448,13 +457,18 @@ anything. No typechecking will be performed on assignments. Assigning
 to it is forbidden, using it in any other kind of expression is also
 not allowed.
 .sp
-Note that this is different from fteqcc's __NULL__ in that gmqcc
-generates an actual empty global, rather than using the global at
-offset 0 because it would overlap with the global RETURN variable when
-dealing with vectors, which starts at offset 1. Setting a vector to
-__NULL__ in fteqcc causes only the vector's x component to be 0.
-However, its y and z components will contain the previous x and y
-components of the global OFS_RETURN.
+Note that this is different from fteqcc's __NULL__: In fteqcc,
+__NULL__ maps to the integer written as '0i'. It's can be assigned to
+function pointers and integers, but it'll error about invalid
+instructions when assigning it to floats without enabling the FTE
+instruction set. There's also a bug which allows it to be assigned to
+vectors, for which the source will be the global at offset 0, meaning
+the vector's y and z components will contain the OFS_RETURN x and y
+components.
+.sp
+In that gmqcc the nil global is an actual global filled with zeroes,
+and can be assigned to anything including fields, vectors or function
+pointers, and they end up becoming zeroed.
 .TP
 .B -fpermissive
 Various effects, usually to weaken some conditions.
@@ -462,6 +476,7 @@ Various effects, usually to weaken some conditions.
 .IP "with -funtyped-nil"
 Allow local variables named 'nil'. (This will not allow declaring a
 global of that name.)
+.RE
 .SH OPTIMIZATIONS
 .TP
 .B -Opeephole