X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/af2ffe5c230fefdc862cafaeb9a4bc07c1dbc8a6..1e05521d4f74fc6770dd55e81c2fdc84191adf7b:/ChangeLog diff --git a/ChangeLog b/ChangeLog index bfba2ea6..86bc8a03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,106 @@ +2009-12-22 Joel E. Denny + + Port small part of master's 8901f32e so future ports are easier. + * data/lalr1.cc (yy::parser::yysyntax_error_): Always add second + argument, but name it in the function definition only when + verbose error messages are enabled and it'll thus be used. + (yy::parser::parse): Update use of yysyntax_error_. + +2009-12-29 Joel E. Denny + + portability: `<' and `>' are not always defined on addresses. + Specifically, don't sort objects by their memory addresses when + they're not allocated in the same array or other object. Though + I haven't found a test case where that fails on my platform, C + says the behavior is undefined. + * src/AnnotationList.c (AnnotationList__insertInto): Remove + FIXME. Use new id field of InadequacyList nodes rather than + their memory addresses when sorting. + (AnnotationList__compute_from_inadequacies): Add + inadequacy_list_node_count argument to pass to + InadequacyList__new_conflict. + * src/AnnotationList.h + (AnnotationList__compute_from_inadequacies): Update prototype + and documentation for new argument. + * src/InadequacyList.c (InadequacyList__new_conflict): Add + node_count argument and use it to assign a unique ID. + * src/InadequacyList.h (InadequacyListNodeCount): New typedef. + (InadequacyList): Add id field. + (InadequacyList__new_conflict): Update prototype and + documentation for new argument. + * src/ielr.c (ielr_compute_annotation_lists): Update + AnnotationList__compute_from_inadequacies invocation. + +2009-12-20 Joel E. Denny + + Fix handling of yychar manipulation in user semantic actions. + The problem was that yacc.c didn't always update the yychar + translation afterwards. However, other skeletons appear to be + fine. glr.c appears to already translate yychar before every + use. lalr1.cc does not define yychar and does not document its + replacement, yyla, for users. It does provide yyclearin, but + that does not manipulate yyla and thus requires no translation + update. In lalr1.java, yychar is out of scope during semantic + actions. + * NEWS (2.5): Document. + * data/yacc.c (YYBACKUP): Don't bother translating yychar into + yytoken here. + (yyparse, yypush_parse): Instead, translate before every use of + yytoken, and add comments explaining this approach. + * tests/actions.at (Destroying lookahead assigned by semantic + action): New test group checking that translation happens before + lookahead destructor calls at parser return. Previously, + incorrect destructors were called. + * tests/conflicts.at (%error-verbose and consistent + errors): New test group checking that translation happens at + syntax error detection before the associated verbose error + message and the associated lookahead destructor calls. While + the destructor call is fixed by this patch, the verbose error + message is currently incorrect due to another bug (see + comments in test group), so this is an expected failure for now. + +2009-12-21 Joel E. Denny + + YYFAIL: warn about uses and remove from lalr1.java. + * NEWS (2.5): Document. + * data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB, + and make it private. Update all uses. + * src/scan-code.l (SC_RULE_ACTION): Implement warning. + +2009-12-21 Joel E. Denny + + YYFAIL: deprecate. + * NEWS (2.4.2): Document deprecation and the phase-out plan. + * data/lalr1.java (parser::YYStack::YYFAIL): Add comment about + deprecation. + * data/yacc.c (YYFAIL): Likewise, and suppress warnings about + YYFAIL from GCC cpp's -Wunused-macros. + * doc/bison.texinfo (Java Action Features): Remove YYFAIL + documentation. + (LocalWords): Remove YYFAIL. + +2009-12-17 Joel E. Denny + + Code cleanup. + * src/symtab.c, src/symtab.h (symbol_class_get_string): Remove + function, which is no longer used. + +2009-12-16 Joel E. Denny + + Add gcc's -Wundef to test suite and fix another warning from it. + * NEWS (2.4.2): Update description of -Wundef fix. + * configure.ac (WARN_CXXFLAGS_TEST): New substitution. + (WARN_CFLAGS_TEST): New substitution. + * data/glr.c: Avoid warning about __STRICT_ANSI__. + * tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of + WARN_CFLAGS. + (NO_WERROR_CFLAGS): Likewise. + (CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS. + +2009-12-16 Joel E. Denny + + * data/yacc.c: Reformat m4 a little. + 2009-12-16 Joel E. Denny Document gcc -Wundef fix.