When reporting an error for a construct which hasn't been terminated

when the end of the file is reached, report it at the start line rather
than "EOF" as then tools like editors and IDEs will take you to a
generally more useful place for fixing the problem.
This commit is contained in:
Olly Betts 2015-01-08 13:19:17 +13:00
commit ce90ff6a77
10 changed files with 28 additions and 13 deletions

View file

@ -1 +1 @@
pp_missing_enddef.i:EOF: Error: Missing %enddef for macro starting on line 3
pp_missing_enddef.i:3: Error: Missing %enddef for macro starting here

View file

@ -1 +1 @@
pp_missing_endif.i:EOF: Error: Missing #endif for conditional starting on line 3
pp_missing_endif.i:3: Error: Missing #endif for conditional starting here

View file

@ -0,0 +1,7 @@
%module xxx
/* %beginfile and %endoffile are internal directives inserted when %include is
* used. Users should never use them directly, but test coverage for this
* error message still seems useful to have.
*/
%includefile "dummy.i" %beginfile

View file

@ -0,0 +1 @@
pp_missing_endoffile.i:6: Error: Missing %endoffile for file inclusion block starting here

View file

@ -1 +1 @@
pp_missing_rblock.i:EOF: Error: Unterminated %{ ... %} block starting on line 3
pp_missing_rblock.i:3: Error: Unterminated %{ ... %} block

View file

@ -1 +1 @@
pp_unterm_char.i:EOF: Error: Unterminated character constant starting at line 4
pp_unterm_char.i:4: Error: Unterminated character constant

View file

@ -1 +1 @@
pp_unterm_comment.i:EOF: Error: Unterminated comment starting on line 3
pp_unterm_comment.i:3: Error: Unterminated comment

View file

@ -1 +1 @@
pp_unterm_string.i:EOF: Error: Unterminated string constant starting at line 4
pp_unterm_string.i:4: Error: Unterminated string constant