[Mesa-dev] [PATCH 17/23] glsl/glcpp: Add an explantory comment for "loc != NULL" check

Carl Worth cworth at cworth.org
Thu Jun 26 15:19:17 PDT 2014

Just reading the code, it looked like a bug that _define_object_macro had this
check, but _define_function_macro did not. Upon further reading, that's
because the check is to allow for our builtins to be defined, (and there are
no builtin function-like macros).

Add my new understanding as a comment to help the next reader.
 src/glsl/glcpp/glcpp-parse.y | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index 98d5a08..1e816ab 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -1943,6 +1943,10 @@ _define_object_macro (glcpp_parser_t *parser,
 	macro_t *macro, *previous;
+	/* We define pre-defined macros before we've started parsing the
+         * actual file. So if there's no location defined yet, that's what
+         * were doing and we don't want to generate an error for using the
+         * reserved names. */
 	if (loc != NULL)
 		_check_for_reserved_macro_name(parser, loc, identifier);

More information about the mesa-dev mailing list