mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
java: use full locations for diagnostics about destructors
Currently we use the syncline to report errors about a symbol's destructor/printer. This is not accurate (only file and line), and this is incorrect: the file name is double quotes (a recent change, needed to make sure we escape properly double quotes in it). And worst of all: with --no-line, b4_syncline expands to nothing. Rather, push the locations into the backend, and use them. * src/muscle-tab.h, src/muscle-tab.c (muscle_location_grow): Make it public. * src/output.c (prepare_symbol_definitions): Use it to pubish the location of the printer and destructor. * data/skeletons/lalr1.java: Use complain_at instead of complain. * tests/java.at (Java invalid directives): Adjust expectations. * data/skeletons/bison.m4 (b4_symbol_action_location): Remove. We should not use b4_syncline this way.
This commit is contained in:
@@ -33,8 +33,10 @@ exp:
|
||||
])
|
||||
|
||||
AT_BISON_CHECK([[-fcaret YYParser.y]], [1], [],
|
||||
[[YYParser.y: error: "lalr1.java": %defines does not make sense in Java
|
||||
YYParser.y: error: "lalr1.java": "YYParser.y":/* :4 */: %destructor does not make sense in Java
|
||||
[[YYParser.y: error: %defines does not make sense in Java
|
||||
YYParser.y:4.13-30: error: %destructor does not make sense in Java
|
||||
%destructor { /* Nothing. */ } exp
|
||||
^~~~~~~~~~~~~~~~~~
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
Reference in New Issue
Block a user