[Mesa-dev] [PATCH 2/7] glcpp: don't push #line directives into next line
Matt Turner
mattst88 at gmail.com
Thu Nov 8 17:26:20 PST 2012
From: Fabian Bieler <fabianbieler at fastmail.fm>
mattst88: Carl and I determined independently of Fabian that the 091
test needed to be modified identically to this, and our patch to fix the
test was more complicated.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51506
Reviewed-by: Matt Turner <mattst88 at gmail.com>
---
Patch 1/7 is "glcpp: Reject garbage after #else and #endif tokens"
src/glsl/glcpp/glcpp-parse.y | 16 ++++++++--------
src/glsl/glcpp/tests/091-hash-line.c.expected | 2 +-
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index 8025c06..9e1bf56 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -190,6 +190,14 @@ line:
control_line {
ralloc_asprintf_rewrite_tail (&parser->output, &parser->output_length, "\n");
}
+| HASH_LINE pp_tokens NEWLINE {
+ if (parser->skip_stack == NULL ||
+ parser->skip_stack->type == SKIP_NO_SKIP)
+ {
+ _glcpp_parser_expand_and_lex_from (parser,
+ LINE_EXPANDED, $2);
+ }
+ }
| text_line {
_glcpp_parser_print_expanded_token_list (parser, $1);
ralloc_asprintf_rewrite_tail (&parser->output, &parser->output_length, "\n");
@@ -244,14 +252,6 @@ control_line:
}
ralloc_free ($2);
}
-| HASH_LINE pp_tokens NEWLINE {
- if (parser->skip_stack == NULL ||
- parser->skip_stack->type == SKIP_NO_SKIP)
- {
- _glcpp_parser_expand_and_lex_from (parser,
- LINE_EXPANDED, $2);
- }
- }
| HASH_IF conditional_tokens NEWLINE {
/* Be careful to only evaluate the 'if' expression if
* we are not skipping. When we are skipping, we
diff --git a/src/glsl/glcpp/tests/091-hash-line.c.expected b/src/glsl/glcpp/tests/091-hash-line.c.expected
index 976d178..48af0b2 100644
--- a/src/glsl/glcpp/tests/091-hash-line.c.expected
+++ b/src/glsl/glcpp/tests/091-hash-line.c.expected
@@ -2,7 +2,6 @@
0:25(1): preprocessor error: #error line 25 error
1:0(1): preprocessor error: #error source 1, line 0 error
2:30(1): preprocessor error: #error source 2, line 30 error
-
#line 0
#line 25
@@ -17,3 +16,4 @@
#line 90 2
#line 180 2
+
--
1.7.8.6
More information about the mesa-dev
mailing list