manpage: A note about __NULL__ vs nil
authorWolfgang Bumiller <blub@speed.at>
Wed, 9 Jan 2013 20:54:36 +0000 (21:54 +0100)
committerWolfgang Bumiller <blub@speed.at>
Wed, 9 Jan 2013 20:54:36 +0000 (21:54 +0100)
doc/gmqcc.1

index 05b5cbc020e66242687caf53b9ffd84db93a8645..940afd0fa04919ccd81054ec782ee0d7ae66d5c1 100644 (file)
@@ -344,6 +344,7 @@ __TIME__
 .fi
 .in
 Note that fteqcc also defines __NULL__ which is not implemented yet.
+(See -funtyped-nil about gmqcc's alternative to __NULL__).
 .TP
 .B -frelaxed-switch
 Allow switch cases to use non constant variables.
@@ -446,6 +447,14 @@ Adds a global named 'nil' which is of no type and can be assigned to
 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.
 .TP
 .B -fpermissive
 Various effects, usually to weaken some conditions.