Bläddra i källkod

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 <kenneth@whitecape.org>
tags/10.3-branchpoint
Carl Worth 11 år sedan
förälder
incheckning
43047384c3

+ 1
- 1
src/glsl/glcpp/glcpp-parse.y Visa fil

@@ -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");
}
;


+ 5
- 0
src/glsl/glcpp/tests/126-garbage-after-directive.c Visa fil

@@ -0,0 +1,5 @@
#ifdef MACRO garbage
#endif

#ifndef MORE garbage
#endif

+ 8
- 0
src/glsl/glcpp/tests/126-garbage-after-directive.c.expected Visa fil

@@ -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







Laddar…
Avbryt
Spara