summaryrefslogtreecommitdiffstats
path: root/src/glsl/glcpp/tests
diff options
context:
space:
mode:
authorCarl Worth <[email protected]>2014-07-02 10:27:50 -0700
committerIan Romanick <[email protected]>2014-08-07 16:08:29 -0700
commitbf9bce5bea17e8034927e34bcafa4c694790d9b9 (patch)
tree2f2b37999307d1d91eb49ec1e0480af16f9ea279 /src/glsl/glcpp/tests
parent9a54b07651f80c394fb5386855b6611aa722a34b (diff)
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 <[email protected]>
Diffstat (limited to 'src/glsl/glcpp/tests')
-rw-r--r--src/glsl/glcpp/tests/141-pragma-and-__LINE__.c6
-rw-r--r--src/glsl/glcpp/tests/141-pragma-and-__LINE__.c.expected6
2 files changed, 12 insertions, 0 deletions
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 00000000000..a93f3ce35fd
--- /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 00000000000..330731dc800
--- /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