]> git.saurik.com Git - bison.git/blobdiff - ChangeLog
* data/c.m4: Comment changes.
[bison.git] / ChangeLog
index 81f0478d8d6c5048994cff7725e7061c1e50553b..3716802a8d27fd73e8ec66d369099d9676cc999f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,134 @@
+2006-07-12  Akim Demaille  <akim@epita.fr>
+
+       * data/c.m4: Comment changes.
+
+2006-07-10  Akim Demaille  <akim@lrde.epita.fr>
+
+       * src/complain.c (error_message, ERROR_MESSAGE): New.
+       To factor...
+       (fatal_at, fatal, warn_at, warn, complain_at, complain): these.
+       * src/complain.h, src/complain.c (warning_issued): Remove, unused.
+
+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.
+       * src/getargs.c (report_argmatch, trace_argmatch): Remove,
+       replaced by...
+       (flags_argmatch, FLAGS_ARGMATCH): this new function and macro.
+       Adjust callers.
+       * src/getargs.h, src/getargs.c (warnings, warnings_flags)
+       (warnings_args, warnings_types): New.
+       (getargs, short_options, long_options): Accept -W/--warnings.
+       Sort the options by alphabetical order, upper case letter right
+       before its lower case.
+
+2006-07-09  Joel E. Denny  <jdenny@ces.clemson.edu>
+
+       Change %merge result type clash warnings to errors.  Discussed at
+       <http://lists.gnu.org/archive/html/bison-patches/2006-07/msg00026.html>.
+       * src/reader.c (record_merge_function_type): Use complain_at.
+       * tests/glr-regression.at (Missed %merge type warnings when LHS type is
+       declared later): Update test case results.
+
+2006-07-09  Akim Demaille  <akim@lrde.epita.fr>
+
+       * src/getargs.h, src/getargs.c: Swap --report and --trace handling
+       to be in alphabetical order.
+       (trace_args): Spelling fixes.
+
+2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/yacc.c (YYID, yy_stack_print): Prefix local vars with "yy"
+       so they don't collide with user-defined macros.
+       (yy_stack_print): Don't assume that yytype_int16 promotes to int;
+       this was never guaranteed, and now that we're using gnulib stdint,
+       which defines int_fast16_t to long int, the problem is exposed.
+
+2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * data/c.m4 (b4_basename): Simplify a bit, since we don't
+       need the full POSIX semantics (and weren't implementing them
+       anyway).
+
+       Adjust to Autoconf 2.60 and today's gnulib.
+       * bootstrap (gnulib_modules): Add stdint.
+       Remove special case for m4/onceonly_2_57.m4, since gnulib-tool
+       no longer copies it.
+       (intl_files_to_remove): Remove m4/longlong.m4 and m4/wchar_t.m4,
+       since stdint needs the former and wcwidth (which is now required
+       by mbswidth) needs the latter.
+       Append 'datarootdir = @datarootdir@' to po/Makefile.in.in, to
+       work around a compatibility glitch between gettext 0.14.6 and
+       Autoconf 2.60.
+       * configure.ac (AC_PREREQ): Require Autoconf 2.60.
+       Do not check for uintptr_t, since new stdint module does the right
+       thing.
+       * lib/.cvsignore: Remove alloca.c, alloca.h, alloca_.h.
+       Add stdint.h, stdint_.h, wcwidth.h.
+       * m4/.cvsignore: Remove alloca.m4, onceonly.m4.
+       Add absolute-header.m4, double-slash-root.m4, longlong.m4,
+       stdint.m4, wchar_t.m4, wcwidth.m4.
+       * src/files.c: Include <dirname.h> and <stdio-safer.h> in the
+       usual order for ../lib/*.h files.
+       (file_name_split): Use last_component, not base_name, to adjust
+       to gnulib changes.
+       * src/parse-gram.h: Include <strverscmp.h> in the usual order
+       for ../lib/*.h files.
+       (YYTYPE_INT16, YYTYPE_INT8, YYTYPE_UINT16, YYTYPE_UINT8):
+       Define unconditionally, since we now assume the stdint module.
+       * src/scan-skel.l: Include <dirname.h>.
+       (BASE_QPUTS): Use last_component, not base_name.
+       * src/system.h: Include <unlocked-io.h> in the usual order
+       for ../lib/*.h files.  Include <stdint.h> unconditionally,
+       since we now use the stdint module.
+       (uintptr_t): Declare if UINTPTR_MAX is not defined, not
+       HAVE_UINTPTR_T, since we now use the stdint module.
+       (base_name): Remove decl, since files now include <dirname.h>
+       to get the decl.
+
 2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
 
        * data/c.m4 (b4_location_initial_column, b4_location_initial_line):
 2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
 
        * data/c.m4 (b4_location_initial_column, b4_location_initial_line):
@@ -9,7 +140,7 @@
 
 2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
 
 
 2006-07-08  Akim Demaille  <akim@lrde.epita.fr>
 
-       * data/c.m4 (b4_dirname): New.
+       * data/c.m4 (b4_basename): New.
        (b4_syncline): Also output the location of its invocation (from
        the skeleton).
        (b4_user_action, b4_define_user_action, b4_user_actions)
        (b4_syncline): Also output the location of its invocation (from
        the skeleton).
        (b4_user_action, b4_define_user_action, b4_user_actions)