Mesa (master): glcpp: Reject #version after the version has been resolved.

Matt Turner mattst88 at kemper.freedesktop.org
Fri Jan 31 18:21:46 UTC 2014


Module: Mesa
Branch: master
Commit: 3f49a8c9a5b6f72eef05fa0382bb8c0db714f492
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3f49a8c9a5b6f72eef05fa0382bb8c0db714f492

Author: Matt Turner <mattst88 at gmail.com>
Date:   Wed Jan 29 12:48:51 2014 -0800

glcpp: Reject #version after the version has been resolved.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74166
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Carl Worth <cworth at cworth.org>

---

 src/glsl/glcpp/glcpp-parse.y |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index 17bc649..0393ac7 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -375,9 +375,15 @@ control_line:
 		_glcpp_parser_skip_stack_pop (parser, & @1);
 	} NEWLINE
 |	HASH_VERSION integer_constant NEWLINE {
+		if (parser->version_resolved) {
+			glcpp_error(& @1, parser, "#version must appear on the first line");
+		}
 		_glcpp_parser_handle_version_declaration(parser, $2, NULL, true);
 	}
 |	HASH_VERSION integer_constant IDENTIFIER NEWLINE {
+		if (parser->version_resolved) {
+			glcpp_error(& @1, parser, "#version must appear on the first line");
+		}
 		_glcpp_parser_handle_version_declaration(parser, $2, $3, true);
 	}
 |	HASH NEWLINE {




More information about the mesa-commit mailing list