glcpp: Add a newline to expanded #line directives.
Otherwise, the preprocessor happily outputs
#line 2 4 <your next line of code>
and the main compiler gets horribly confused and fails to compile.
This is not the right solution (line numbers in error messages will
likely be off-by-one in certain circumstances), but until Carl comes
up with a proper fix, this gets programs running again.
Fixes regressions in Regnum Online, Overgrowth, Piglit, and others since
commit aac78ce823
.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51802
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51506
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41152
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -213,7 +213,7 @@ expanded_line:
|
||||
parser->new_line_number = $2;
|
||||
ralloc_asprintf_rewrite_tail (&parser->output,
|
||||
&parser->output_length,
|
||||
"#line %" PRIiMAX,
|
||||
"#line %" PRIiMAX "\n",
|
||||
$2);
|
||||
}
|
||||
| LINE_EXPANDED integer_constant integer_constant NEWLINE {
|
||||
@@ -223,7 +223,7 @@ expanded_line:
|
||||
parser->new_source_number = $3;
|
||||
ralloc_asprintf_rewrite_tail (&parser->output,
|
||||
&parser->output_length,
|
||||
"#line %" PRIiMAX " %" PRIiMAX,
|
||||
"#line %" PRIiMAX " %" PRIiMAX "\n",
|
||||
$2, $3);
|
||||
}
|
||||
;
|
||||
|
Reference in New Issue
Block a user