mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-12 05:43:03 +00:00
* NEWS: Instead of %union, you can define and use your own union type
YYSTYPE if your grammar contains at least one <type> tag. Your YYSTYPE need not be a macro; it can be a typedef. * doc/bison.texinfo (Value Type, Multiple Types, Location Type): (Union Decl, Decl Summary): Document this. * data/glr.c (YYSTYPE): Implement this. * data/glr.cc (YYSTYPE): Likewise. * data/lalr1.cc (YYSTYPE): Likewise. * data/yacc.c (YYSTYPE): Likewise. * src/output.c (prepare): Output tag_seen_flag. * src/parse-gram.y (declaration, grammar_declaration): Use 'union_seen' rather than 'typed' to determine whether %union has been seen, since grammars can now be typed without %union. (symbol_declaration, type.opt, symbol_def): Keep track of whether a tag has been seen. * src/reader.c (union_seen, tag_seen): New vars. (typed): remove. * src/reader.h (union_seen, tag_seen, typed): Likewise. * src/scan-code.l (untyped_var_seen): New variable. (handle_action_dollar): Adjust to above changes. (handle_action_dollar, handle_action_at): Improve overflow checking for outlandish numbers. * tests/input.at (AT_CHECK_UNUSED_VALUES): Redo test to avoid new diagnostics generated by above changes. * tests/regression.at (YYSTYPE typedef): Add test to check for type tags without %union.
This commit is contained in:
43
ChangeLog
43
ChangeLog
@@ -1,3 +1,46 @@
|
||||
2006-07-09 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* NEWS: Instead of %union, you can define and use your own union type
|
||||
YYSTYPE if your grammar contains at least one <type> tag.
|
||||
Your YYSTYPE need not be a macro; it can be a typedef.
|
||||
* doc/bison.texinfo (Value Type, Multiple Types, Location Type):
|
||||
(Union Decl, Decl Summary): Document this.
|
||||
* data/glr.c (YYSTYPE): Implement this.
|
||||
* data/glr.cc (YYSTYPE): Likewise.
|
||||
* data/lalr1.cc (YYSTYPE): Likewise.
|
||||
* data/yacc.c (YYSTYPE): Likewise.
|
||||
* src/output.c (prepare): Output tag_seen_flag.
|
||||
* src/parse-gram.y (declaration, grammar_declaration):
|
||||
Use 'union_seen' rather than 'typed' to determine whether
|
||||
%union has been seen, since grammars can now be typed without
|
||||
%union.
|
||||
(symbol_declaration, type.opt, symbol_def):
|
||||
Keep track of whether a tag has been seen.
|
||||
* src/reader.c (union_seen, tag_seen): New vars.
|
||||
(typed): remove.
|
||||
* src/reader.h (union_seen, tag_seen, typed): Likewise.
|
||||
* src/scan-code.l (untyped_var_seen): New variable.
|
||||
(handle_action_dollar): Adjust to above changes.
|
||||
(handle_action_dollar, handle_action_at):
|
||||
Improve overflow checking for outlandish numbers.
|
||||
* tests/input.at (AT_CHECK_UNUSED_VALUES): Redo test to
|
||||
avoid new diagnostics generated by above changes.
|
||||
* tests/regression.at (YYSTYPE typedef): Add test to check
|
||||
for type tags without %union.
|
||||
|
||||
* src/symlist.c (symbol_list_length): Return int, not unsigned
|
||||
int, since callers expect int. This may need to get revisited
|
||||
once we have proper integer overflow checking.
|
||||
|
||||
* src/scan-gram.h (gram_scanner_cursor): Remove decl, since this
|
||||
object is now static.
|
||||
|
||||
* src/getargs.c (flags_argmatch): Return void, not int,
|
||||
to pacify ./configure --enable-gcc-warnings.
|
||||
|
||||
* src/flex-scanner.h (STRING_FREE): Don't use FLEX_PREFIX (last_string)
|
||||
since last_string is already defined to FLEX_PREFIX (last_string).
|
||||
|
||||
2006-07-09 Akim Demaille <akim@lrde.epita.fr>
|
||||
|
||||
Implement --warnings/-W.
|
||||
|
||||
Reference in New Issue
Block a user