diff options
author | Carl Worth <[email protected]> | 2014-06-13 15:40:42 -0700 |
---|---|---|
committer | Carl Worth <[email protected]> | 2014-07-09 12:05:14 -0700 |
commit | 43047384c331a9240339563704fe5d97ebe599d7 (patch) | |
tree | bfbaa15c9fc0b606b2c24520ecfaef41a95a768e | |
parent | dac3c986c546b674873f217e3137c3bcd25663a7 (diff) |
glsl/glcpp: Promote "extra token at end of directive" from warning to error
We've always warned about this case, but a recent confromance test expects
this to be an error that causes compilation to fail. Make it so.
Also add a "make check" test to ensure these errors are generated.
This fixes the following Khronos GLES3 conformance tests:
invalid_conditionals.tokens_after_ifdef_vertex
invalid_conditionals.tokens_after_ifdef_fragment
invalid_conditionals.tokens_after_ifndef_vertex
invalid_conditionals.tokens_after_ifndef_fragment
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/glsl/glcpp/glcpp-parse.y | 2 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/126-garbage-after-directive.c | 5 | ||||
-rw-r--r-- | src/glsl/glcpp/tests/126-garbage-after-directive.c.expected | 8 |
3 files changed, 14 insertions, 1 deletions
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index 267940156c4..21c85b410f5 100644 --- a/src/glsl/glcpp/glcpp-parse.y +++ b/src/glsl/glcpp/glcpp-parse.y @@ -625,7 +625,7 @@ replacement_list: junk: /* empty */ | pp_tokens { - glcpp_warning(&@1, parser, "extra tokens at end of directive"); + glcpp_error(&@1, parser, "extra tokens at end of directive"); } ; diff --git a/src/glsl/glcpp/tests/126-garbage-after-directive.c b/src/glsl/glcpp/tests/126-garbage-after-directive.c new file mode 100644 index 00000000000..4c0d29000a3 --- /dev/null +++ b/src/glsl/glcpp/tests/126-garbage-after-directive.c @@ -0,0 +1,5 @@ +#ifdef MACRO garbage +#endif + +#ifndef MORE garbage +#endif diff --git a/src/glsl/glcpp/tests/126-garbage-after-directive.c.expected b/src/glsl/glcpp/tests/126-garbage-after-directive.c.expected new file mode 100644 index 00000000000..95a9e61ebcb --- /dev/null +++ b/src/glsl/glcpp/tests/126-garbage-after-directive.c.expected @@ -0,0 +1,8 @@ +0:1(15): preprocessor error: extra tokens at end of directive +0:4(14): preprocessor error: extra tokens at end of directive + + + + + + |