From: Kenneth Graunke Date: Fri, 20 Aug 2010 09:14:35 +0000 (-0700) Subject: ast_to_hir: Reject function names that start with "gl_". X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=edd180f03216d2fcb2771aeea34e7015fb2b83c3;p=mesa.git ast_to_hir: Reject function names that start with "gl_". Fixes piglit test redeclaration-03.vert. --- diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index 0d2c471f45b..4188348626c 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2099,6 +2099,18 @@ ast_function::hir(exec_list *instructions, const char *const name = identifier; + /* From page 15 (page 21 of the PDF) of the GLSL 1.10 spec, + * + * "Identifiers starting with "gl_" are reserved for use by + * OpenGL, and may not be declared in a shader as either a + * variable or a function." + */ + if (strncmp(name, "gl_", 3) == 0) { + YYLTYPE loc = this->get_location(); + _mesa_glsl_error(&loc, state, + "identifier `%s' uses reserved `gl_' prefix", name); + } + /* Convert the list of function parameters to HIR now so that they can be * used below to compare this function's signature with previously seen * signatures for functions with the same name.