bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FYI: Merge maint into master


From: Akim Demaille
Subject: FYI: Merge maint into master
Date: Wed, 10 Apr 2013 10:26:39 +0200

Lots of minor conflicts because of copyright year changes.

commit cc8962bdde81b04aa728aef21e53b4a08a0debfe
Merge: 435575c 49964a4
Author: Akim Demaille <address@hidden>
Date:   Wed Apr 10 09:23:20 2013 +0200

    Merge remote-tracking branch 'origin/maint'
    
    * origin/maint:
      glr.cc: fix a clang warning
      maint: update copyright years
      build: fix VPATH issue
      build: avoid clang's colored diagnostics in the test suite
      tests: please clang and use ".cc", not ".c", for C++ input
      gnulib: update
      skeletons: avoid empty switch constructs
      lalr1.cc: fix compiler warnings
      yacc.c: do not use __attribute__ unprotected
      tests: style changes

diff --git a/Makefile.am b/Makefile.am
index 7a752d7..339a3c6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -78,11 +78,11 @@ dist-hook: gen-ChangeLog
 
 .PHONY: update-b4-copyright update-package-copyright-year
 update-b4-copyright:
-       find $(srcdir)/data -type f          \
+       $(AM_V_GEN)find $(srcdir)/data -type f          \
          | xargs $(srcdir)/build-aux/$@
        @echo 'warning: src/parse-gram.[hc] may need to be regenerated.'
 update-package-copyright-year:
-       $(srcdir)/build-aux/$@ $(srcdir)/configure.ac
+       $(AM_V_GEN)$(srcdir)/build-aux/$@ $(srcdir)/configure.ac
 
 gen_start_date = 2012-01-16
 .PHONY: gen-ChangeLog
diff --git a/NEWS b/NEWS
index 406521b..d7d89d2 100644
--- a/NEWS
+++ b/NEWS
@@ -569,6 +569,16 @@ GNU Bison NEWS
       ...
     }
 
+* Noteworthy changes in release ?.? (????-??-??) [?]
+
+** Bug fixes
+
+*** Fix compiler attribute portability (yacc.c)
+
+  With locations enabled, __attribute__ was used unprotected.
+
+*** Fix some compiler warnings (lalr1.cc)
+
 * Noteworthy changes in release 2.7 (2012-12-12) [stable]
 
 ** Bug fixes
diff --git a/THANKS b/THANKS
index f30602c..a7d1d47 100644
--- a/THANKS
+++ b/THANKS
@@ -107,6 +107,7 @@ Ralf Wildenhues           address@hidden
 Richard Stallman          address@hidden
 Rob Vermaas               address@hidden
 Robert Anisko             address@hidden
+Rob Conde                 address@hidden
 Roland Levillain          address@hidden
 Satya Kiran Popuri        address@hidden
 Sebastian Setzer          address@hidden
@@ -127,6 +128,7 @@ Tommy Nordgren            address@hidden
 Troy A. Johnson           address@hidden
 Tys Lefering              address@hidden
 Valentin Tolmer           address@hidden
+Victor Khomenko           address@hidden
 Vin Shelton               address@hidden
 W.C.A. Wijngaards         address@hidden
 Wayne Green               address@hidden
diff --git a/bootstrap b/bootstrap
index bee7765..96f1e76 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2013-01-20.16; # UTC
+scriptversion=2013-03-08.16; # UTC
 
 # Bootstrap this package from checked-out sources.
 
@@ -630,9 +630,13 @@ esac
 if $bootstrap_sync; then
   cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
     echo "$0: updating bootstrap and restarting..."
+    case $(sh -c 'echo "$1"' -- a) in
+      a) ignored=--;;
+      *) ignored=ignored;;
+    esac
     exec sh -c \
       'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
-      -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
+      $ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \
       "$0" "$@" --no-bootstrap-sync
   }
 fi
diff --git a/build-aux/local.mk b/build-aux/local.mk
index c5f87ad..8922ea5 100644
--- a/build-aux/local.mk
+++ b/build-aux/local.mk
@@ -1,5 +1,3 @@
-## Makefile for Bison testsuite.
-
 # Copyright (C) 2000-2013 Free Software Foundation, Inc.
 #
 # This program is free software: you can redistribute it and/or modify
diff --git a/data/bison.m4 b/data/bison.m4
index dc12ad2..910cdf2 100644
--- a/data/bison.m4
+++ b/data/bison.m4
@@ -461,6 +461,24 @@ m4_define([b4_symbol_destructor], [b4_symbol_action([$1], 
[destructor])])
 m4_define([b4_symbol_printer],    [b4_symbol_action([$1], [printer])])
 
 
+# b4_symbol_actions(KIND, [TYPE = yytype])
+# ----------------------------------------
+# Emit the symbol actions for KIND ("printer" or "destructor").
+# Dispatch on TYPE.
+m4_define([b4_symbol_actions],
+[m4_pushdef([b4_actions_], m4_expand([b4_symbol_foreach([b4_symbol_$1])]))dnl
+m4_ifval(m4_defn([b4_actions_]),
+[switch (m4_default([$2], [yytype]))
+    {
+      m4_defn([b4_actions_])
+      default:
+        break;
+    }dnl
+],
+[YYUSE (m4_default([$2], [yytype]));])dnl
+m4_popdef([b4_actions_])dnl
+])
+
 # b4_symbol_case_(SYMBOL-NUM)
 # ---------------------------
 # Issue a "case NUM" for SYMBOL-NUM.
diff --git a/data/c.m4 b/data/c.m4
index edf9991..abc769b 100644
--- a/data/c.m4
+++ b/data/c.m4
@@ -199,6 +199,31 @@ m4_define([b4_table_value_equals],
        [(!!(($2) == ($3)))])])
 
 
+## ----------------- ##
+## Compiler issues.  ##
+## ----------------- ##
+
+# b4_attribute_define
+# -------------------
+# Provide portability for __attribute__.
+m4_define([b4_attribute_define],
+[#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if (! defined __GNUC__ || __GNUC__ < 2 \
+      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
+#  define __attribute__(Spec) /* empty */
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(E) ((void) (E))
+#else
+# define YYUSE(E) /* empty */
+#endif
+])
+
+
 ## ---------##
 ## Values.  ##
 ## ---------##
@@ -421,12 +446,7 @@ m4_ifset([b4_parse_param], [, b4_parse_param]))[
     yymsg = "Deleting";
   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
-  switch (yytype)
-    {
-]b4_symbol_foreach([b4_symbol_destructor])dnl
-[      default:
-        break;
-    }
+  ]b4_symbol_actions([destructor])[
 }]dnl
 ])
 
@@ -459,12 +479,7 @@ m4_if(b4_skeleton, ["yacc.c"],
     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
 # endif
 ]])dnl
-[  switch (yytype)
-    {
-]b4_symbol_foreach([b4_symbol_printer])dnl
-[      default:
-        break;
-    }
+  b4_symbol_actions([printer])[
 }
 
 
diff --git a/data/glr.c b/data/glr.c
index 7ab3823..ff70890 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -246,13 +246,6 @@ b4_percent_code_get[]dnl
 # endif
 #endif
 
-/* Suppress unused-variable warnings by "using" E.  */
-#ifdef __GNUC__
-# define YYUSE(E) ((void) (E))
-#else
-# define YYUSE(E) /* empty */
-#endif
-
 #ifndef YYFREE
 # define YYFREE free
 #endif
@@ -281,17 +274,7 @@ b4_percent_code_get[]dnl
 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
 #endif
 
-/*-----------------.
-| GCC extensions.  |
-`-----------------*/
-
-#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later.  */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
-      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-#  define __attribute__(Spec) /* empty */
-# endif
-#endif
+]b4_attribute_define[
 
 #ifndef YYASSERT
 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
diff --git a/data/glr.cc b/data/glr.cc
index 0164eda..e57308b 100644
--- a/data/glr.cc
+++ b/data/glr.cc
@@ -187,12 +187,7 @@ m4_pushdef([b4_parse_param], 
m4_defn([b4_parse_param_orig]))dnl
     std::ostream& yyoutput = debug_stream ();
     std::ostream& yyo = yyoutput;
     YYUSE (yyo);
-    switch (yytype)
-      {
-]b4_symbol_foreach([b4_symbol_printer])dnl
-[        default:
-          break;
-      }
+    ]b4_symbol_actions([printer])[
   }
 
 
diff --git a/data/lalr1.cc b/data/lalr1.cc
index 4eec878..3294f59 100644
--- a/data/lalr1.cc
+++ b/data/lalr1.cc
@@ -40,7 +40,6 @@ m4_define([b4_integral_parser_table_define],
   };dnl
 ])
 
-
 # b4_symbol_value_template(VAL, [TYPE])
 # -------------------------------------
 # Same as b4_symbol_value, but used in a template method.  It makes
@@ -205,6 +204,10 @@ b4_location_define])])[
     void error (const syntax_error& err);
 
   private:
+    /// This class is not copyable.
+    ]b4_parser_class_name[ (const ]b4_parser_class_name[&);
+    ]b4_parser_class_name[& operator= (const ]b4_parser_class_name[&);
+
     /// State numbers.
     typedef int state_type;
 
@@ -595,13 +598,7 @@ m4_if(b4_prefix, [yy], [],
       YY_SYMBOL_PRINT (yymsg, yysym);]b4_variant_if([], [
 
     // User destructor.
-    symbol_number_type yytype = yysym.type_get ();
-    switch (yytype)
-      {
-]b4_symbol_foreach([b4_symbol_destructor])dnl
-[       default:
-          break;
-      }])[
+    b4_symbol_actions([destructor], [yysym.type_get ()])])[
   }
 
 #if ]b4_api_PREFIX[DEBUG
@@ -616,12 +613,7 @@ m4_if(b4_prefix, [yy], [],
     yyo << (yytype < yyntokens_ ? "token" : "nterm")
         << ' ' << yytname_[yytype] << " ("]b4_locations_if([
         << yysym.location << ": "])[;
-    switch (yytype)
-      {
-]b4_symbol_foreach([b4_symbol_printer])dnl
-[       default:
-          break;
-      }
+    ]b4_symbol_actions([printer])[
     yyo << ')';
   }
 #endif
@@ -741,7 +733,7 @@ b4_dollar_popdef])[]dnl
        yynewstate, since the latter expects the semantical and the
        location values to have been already stored, initialize these
        stacks with a primary value.  */
-    yystack_ = stack_type (0);
+    yystack_.clear ();
     yypush_ (YY_NULL, 0, yyla);
 
     // A new symbol was pushed on the stack.
diff --git a/data/stack.hh b/data/stack.hh
index 037c212..aa64d63 100644
--- a/data/stack.hh
+++ b/data/stack.hh
@@ -72,6 +72,12 @@ m4_define([b4_stack_define],
         seq_.pop_back ();
     }
 
+    void
+    clear ()
+    {
+      seq_.clear ();
+    }
+
     inline
     typename S::size_type
     size () const
@@ -94,6 +100,8 @@ m4_define([b4_stack_define],
     }
 
   private:
+    stack (const stack&);
+    stack& operator= (const stack&);
     /// The wrapped container.
     S seq_;
   };
diff --git a/data/yacc.c b/data/yacc.c
index c47114a..74fadd1 100644
--- a/data/yacc.c
+++ b/data/yacc.c
@@ -430,12 +430,7 @@ typedef short int yytype_int16;
 # endif
 #endif
 
-/* Suppress unused-variable warnings by "using" E.  */
-#ifdef __GNUC__
-# define YYUSE(E) ((void) (E))
-#else
-# define YYUSE(E) /* empty */
-#endif
+]b4_attribute_define[
 
 #if ]b4_lac_if([[1]], [[! defined yyoverflow || YYERROR_VERBOSE]])[
 
diff --git a/gnulib b/gnulib
index 38e8c08..076ac82 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 38e8c084b95e98c4e763df8cfc43a141aa93fc5f
+Subproject commit 076ac82d1d7f4df54630f1b4917b3c14f227f032
diff --git a/tests/glr-regression.at b/tests/glr-regression.at
index 9eb429c..711ab7e 100644
--- a/tests/glr-regression.at
+++ b/tests/glr-regression.at
@@ -486,8 +486,8 @@ start:
    ;
 
 %%
-]AT_YYLEX_DEFINE(["a"])[
 ]AT_YYERROR_DEFINE[
+]AT_YYLEX_DEFINE(["a"])[
 ]AT_MAIN_DEFINE[
 ]])
 AT_BISON_OPTION_POPDEFS
@@ -1679,8 +1679,8 @@ start:
 b: 'b';
 d: /* nada.  */;
 %%
-]AT_YYLEX_DEFINE(["abc"])[
 ]AT_YYERROR_DEFINE[
+]AT_YYLEX_DEFINE(["abc"])[
 ]AT_MAIN_DEFINE[
 ]])
 AT_BISON_OPTION_POPDEFS




reply via email to

[Prev in Thread] Current Thread [Next in Thread]