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 <ian.d.romanick@intel.com>
This commit is contained in:
parent
9a54b07651
commit
bf9bce5bea
|
@ -291,8 +291,6 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]?
|
|||
* Simply pass them through to the main compiler's lexer/parser. */
|
||||
<HASH>(extension|pragma)[^\r\n]* {
|
||||
BEGIN INITIAL;
|
||||
yylineno++;
|
||||
yycolumn = 0;
|
||||
RETURN_STRING_TOKEN (PRAGMA);
|
||||
}
|
||||
|
||||
|
|
|
@ -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 */
|
|
@ -0,0 +1,6 @@
|
|||
Line 1
|
||||
Line 2
|
||||
#pragma Line 3
|
||||
Line 4
|
||||
#pragma Line 5
|
||||
Line 6
|
Loading…
Reference in New Issue