+2006-07-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data/lalr1.cc (YYCDEBUG): Use 'if (yydebug_) (*yycdebug_)'
+ rather than a for-loop that declares a local bool variable. This
+ should work around a compatibility problem with a Cray x1e C++
+ compiler reported by Hung Nguyen in
+ <http://lists.gnu.org/archive/html/help-bison/2006-07/msg00022.html>.
+ The for-loop was introduced in the 2004-11-17 change but I don't
+ know why it was needed.
+
+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):
+ New, default to 1.
+ * data/yacc.c, data/glr.c, data/location.cc: Use them.
+ * NEWS, doc/bison.texinfo: The initial column and line are 1 by
+ default.
+ * tests/calc.at: Adjust.
+
+2006-07-08 Akim Demaille <akim@lrde.epita.fr>
+
+ * 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_user_initial_action, b4_user_post_prologue, b4_user_start_header)
+ (b4_user_stype): New.
+ * data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: Use them.
+
+2006-07-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ In the grammar file, the first column is 1 not 0 on the first line as
+ on every other line.
+ * src/parse-gram.y (%initial-action): Initialize @$ correctly.
+ * tests/input.at (Torturing the Scanner): Update output.
+
+ * src/scan-gram.l (scanner_cursor): Declare it static.
+
+2006-07-07 Joel E. Denny <jdenny@ces.clemson.edu>
+
+ In warnings, say "previous declaration" rather than "first
+ declaration".
+ * src/symtab.c (redeclaration): Do that here.
+ * src/reader.c (record_merge_function_type): In the case of a result
+ type clash, report the previous declaration rather than the very first
+ one in the grammar file.
+ * tests/glr-regression.at (Missed %merge type warnings when LHS type is
+ declared later): Add a third declaration to check this behavior.
+ * tests/input.at (Incompatible Aliases): Update output.
+
+2006-06-27 Akim Demaille <akim@epita.fr>
+
+ * doc/Doxyfile.in: New.
+ * doc/Makefile.am: Use it.
+ * src/lalr.h, src/symtab.h: Initial doxygenation.
+