diff options
-rw-r--r-- | src/glsl/glcpp/glcpp-parse.y | 4 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/086-reserved-macro-names.c | 1 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/086-reserved-macro-names.c.expected | 5 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index ff9fa7a49b4..17941a9be8a 100644 --- a/src/glsl/glcpp/glcpp-parse.y +++ b/src/glsl/glcpp/glcpp-parse.y @@ -1663,8 +1663,8 @@ _check_for_reserved_macro_name (glcpp_parser_t *parser, YYLTYPE *loc, /* According to the GLSL specification, macro names starting with "__" * or "GL_" are reserved for future use. So, don't allow them. */ - if (strncmp(identifier, "__", 2) == 0) { - glcpp_error (loc, parser, "Macro names starting with \"__\" are reserved.\n"); + if (strstr(identifier, "__")) { + glcpp_error (loc, parser, "Macro names containing \"__\" are reserved.\n"); } if (strncmp(identifier, "GL_", 3) == 0) { glcpp_error (loc, parser, "Macro names starting with \"GL_\" are reserved.\n"); diff --git a/src/glsl/glcpp/tests/086-reserved-macro-names.c b/src/glsl/glcpp/tests/086-reserved-macro-names.c index fd0c29f0c47..a6b7201f95d 100644 --- a/src/glsl/glcpp/tests/086-reserved-macro-names.c +++ b/src/glsl/glcpp/tests/086-reserved-macro-names.c @@ -1,2 +1,3 @@ #define __BAD reserved #define GL_ALSO_BAD() also reserved +#define THIS__TOO__IS__BAD reserved diff --git a/src/glsl/glcpp/tests/086-reserved-macro-names.c.expected b/src/glsl/glcpp/tests/086-reserved-macro-names.c.expected index 6a9df682685..d8aa9f0a648 100644 --- a/src/glsl/glcpp/tests/086-reserved-macro-names.c.expected +++ b/src/glsl/glcpp/tests/086-reserved-macro-names.c.expected @@ -1,7 +1,10 @@ -0:1(10): preprocessor error: Macro names starting with "__" are reserved. +0:1(10): preprocessor error: Macro names containing "__" are reserved. 0:2(9): preprocessor error: Macro names starting with "GL_" are reserved. +0:3(9): preprocessor error: Macro names containing "__" are reserved. + + |