From bf9bce5bea17e8034927e34bcafa4c694790d9b9 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Wed, 2 Jul 2014 10:27:50 -0700 Subject: glsl/glcpp: Fix #pragma to not over-increment the line-number count Previously, the #pragma directive was swallowing an entire line, (including the final newline). At that time it was appropriate for it to increment the line count. More recently, our handling of #pragma changed to not include the newline. But the code to increment yylineno stuck around. This was causing __LINE__ to be increased by one more than desired for every #pragma. Remove the bogus, extra increment, and add a test for this case. Reviewed-by: Ian Romanick --- src/glsl/glcpp/tests/141-pragma-and-__LINE__.c | 6 ++++++ src/glsl/glcpp/tests/141-pragma-and-__LINE__.c.expected | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 src/glsl/glcpp/tests/141-pragma-and-__LINE__.c create mode 100644 src/glsl/glcpp/tests/141-pragma-and-__LINE__.c.expected (limited to 'src/glsl/glcpp/tests') diff --git a/src/glsl/glcpp/tests/141-pragma-and-__LINE__.c b/src/glsl/glcpp/tests/141-pragma-and-__LINE__.c new file mode 100644 index 0000000..a93f3ce --- /dev/null +++ b/src/glsl/glcpp/tests/141-pragma-and-__LINE__.c @@ -0,0 +1,6 @@ +Line 1 /* Test for a bug where #pragma was throwing off the __LINE__ count. */ +Line __LINE__ /* Line 2 */ +#pragma Line 3 +Line __LINE__ /* Line 4 */ +#pragma Line 5 +Line __LINE__ /* Line 6 */ diff --git a/src/glsl/glcpp/tests/141-pragma-and-__LINE__.c.expected b/src/glsl/glcpp/tests/141-pragma-and-__LINE__.c.expected new file mode 100644 index 0000000..330731d --- /dev/null +++ b/src/glsl/glcpp/tests/141-pragma-and-__LINE__.c.expected @@ -0,0 +1,6 @@ +Line 1 +Line 2 +#pragma Line 3 +Line 4 +#pragma Line 5 +Line 6 -- cgit v1.1