summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <akim@lrde.epita.fr>2012-12-14 13:56:11 +0100
committerAkim Demaille <akim@lrde.epita.fr>2012-12-14 13:58:04 +0100
commitb9278c7d174c1be5d7482343c5e433f428657ed0 (patch)
tree90b6cb9385cd4cb10505f4e0b799ee3a2c7448a2
parente96b1b2c452d62d0fe9cef4338c882db0b7d0691 (diff)
parent2bd435c36c0dfdefb07cef05dec851ec75bab20b (diff)
downloadbison-b9278c7d174c1be5d7482343c5e433f428657ed0.tar.gz
Merge branch 'origin/maint'
* origin/maint: maint: credit Wojciech Polak maint: post-release administrivia version 2.7 yacc.c: scope reduction tests: C90 compliance fix C90 compliance glr.c: scope reduction gnulib: update Conflicts: NEWS gnulib src/scan-gram.l src/system.h
-rw-r--r--.prev-version2
-rw-r--r--NEWS12
-rw-r--r--THANKS1
-rw-r--r--data/glr.c21
-rw-r--r--data/yacc.c23
m---------gnulib0
-rw-r--r--src/graphviz.h52
-rw-r--r--src/ielr.c8
-rw-r--r--src/scan-gram.l2
-rw-r--r--src/system.h2
-rw-r--r--tests/actions.at5
-rw-r--r--tests/glr-regression.at6
-rw-r--r--tests/synclines.at2
13 files changed, 79 insertions, 57 deletions
diff --git a/.prev-version b/.prev-version
index 7d99c602..1effb003 100644
--- a/.prev-version
+++ b/.prev-version
@@ -1 +1 @@
-2.6.90
+2.7
diff --git a/NEWS b/NEWS
index 7df5d87e..39c812e0 100644
--- a/NEWS
+++ b/NEWS
@@ -240,17 +240,14 @@ GNU Bison NEWS
It used to be an error only if used in non GLR mode, _and_ if there are
reduce/reduce conflicts.
-* Noteworthy changes in release ?.? (????-??-??) [?]
-
-** %language is no longer an experimental feature.
-
- The introduction of this feature, in 2.4, was four years ago. The --language
- option and the %language directive are no longer experimental.
+* Noteworthy changes in release 2.7 (2012-12-12) [stable]
** Bug fixes
Warnings about uninitialized yylloc in yyparse have been fixed.
+ Restored C90 compliance (yet no report was ever made).
+
** Diagnostics are improved
*** Changes in the format of error messages
@@ -748,6 +745,7 @@ GNU Bison NEWS
These features are experimental in this version. More user feedback
will help to stabilize them.
+ Contributed by Alex Rozenman.
** IELR(1) and canonical LR(1):
@@ -1264,6 +1262,7 @@ GNU Bison NEWS
The current Java interface is experimental and may evolve. More user
feedback will help to stabilize it.
+ Contributed by Paolo Bonzini.
** %language
@@ -1277,6 +1276,7 @@ GNU Bison NEWS
Bison can now generate an XML report of the LALR(1) automaton using the new
"--xml" option. The current XML schema is experimental and may evolve. More
user feedback will help to stabilize it.
+ Contributed by Wojciech Polak.
** The grammar file may now specify the name of the parser header file using
%defines. For example:
diff --git a/THANKS b/THANKS
index dbe54791..ed15fa02 100644
--- a/THANKS
+++ b/THANKS
@@ -127,6 +127,7 @@ Vin Shelton acs@alumni.princeton.edu
W.C.A. Wijngaards wouter@NLnetLabs.nl
Wayne Green wayne@infosavvy.com
Wei Song wsong83@gmail.com
+Wojciech Polak polak@gnu.org
Wolfgang S. Kechel wolfgang.kechel@prs.de
Wolfram Wagner ww@mpi-sb.mpg.de
Wwp subscript@free.fr
diff --git a/data/glr.c b/data/glr.c
index 1e82e589..6c03af3b 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -286,7 +286,7 @@ b4_percent_code_get[]dnl
# include <setjmp.h>
# define YYJMP_BUF jmp_buf
# define YYSETJMP(Env) setjmp (Env)
-// Pacify clang.
+/* Pacify clang. */
# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
#endif
@@ -1997,10 +1997,10 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
#if ! YYERROR_VERBOSE
yyerror (]b4_lyyerror_args[YY_("syntax error"));
#else
+ {
yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
size_t yysize0 = yytnamerr (YY_NULL, yytokenName (yytoken));
size_t yysize = yysize0;
- size_t yysize1;
yybool yysize_overflow = yyfalse;
char* yymsg = YY_NULL;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
@@ -2060,9 +2060,11 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
break;
}
yyarg[yycount++] = yytokenName (yyx);
- yysize1 = yysize + yytnamerr (YY_NULL, yytokenName (yyx));
- yysize_overflow |= yysize1 < yysize;
- yysize = yysize1;
+ {
+ size_t yysz = yysize + yytnamerr (YY_NULL, yytokenName (yyx));
+ yysize_overflow |= yysz < yysize;
+ yysize = yysz;
+ }
}
}
}
@@ -2082,9 +2084,11 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
#undef YYCASE_
}
- yysize1 = yysize + strlen (yyformat);
- yysize_overflow |= yysize1 < yysize;
- yysize = yysize1;
+ {
+ size_t yysz = yysize + strlen (yyformat);
+ yysize_overflow |= yysz < yysize;
+ yysize = yysz;
+ }
if (!yysize_overflow)
yymsg = (char *) YYMALLOC (yysize);
@@ -2114,6 +2118,7 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
yyerror (]b4_lyyerror_args[YY_("syntax error"));
yyMemoryExhausted (yystackp);
}
+ }
#endif /* YYERROR_VERBOSE */
yynerrs += 1;
}
diff --git a/data/yacc.c b/data/yacc.c
index 9bd80280..7a2587ab 100644
--- a/data/yacc.c
+++ b/data/yacc.c
@@ -1147,7 +1147,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
{
YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULL;
@@ -1224,11 +1223,13 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
break;
}
yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
}
}]b4_lac_if([[
# if ]b4_api_PREFIX[DEBUG
@@ -1252,10 +1253,12 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
# undef YYCASE_
}
- yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
if (*yymsg_alloc < yysize)
{
diff --git a/gnulib b/gnulib
-Subproject daf7f8c02242c535d596231e2f655109b97fa2b
+Subproject 4a8c422f3139a9b4fb2c7ffae5aef3bea28bdc6
diff --git a/src/graphviz.h b/src/graphviz.h
index 371b15c5..239cdd21 100644
--- a/src/graphviz.h
+++ b/src/graphviz.h
@@ -24,38 +24,48 @@
#include "state.h"
-/// Begin a Dot graph.
-/// \param fout output stream.
+/** Begin a Dot graph.
+ *
+ * \param fout output stream.
+ */
void start_graph (FILE *fout);
-/// Output a Dot node.
-/// \param id identifier of the node
-/// \param label human readable label of the node (no Dot escaping needed).
-/// \param fout output stream.
+/** Output a Dot node.
+ *
+ * \param id identifier of the node
+ * \param label human readable label of the node (no Dot escaping needed).
+ * \param fout output stream.
+ */
void output_node (int id, char const *label, FILE *fout);
-/// Output a Dot edge.
-/// \param source id of the source node
-/// \param destination id of the target node
-/// \param label human readable label of the edge
-/// (no Dot escaping needed). Can be 0.
-/// \param style Dot style of the edge (e.g., "dotted" or "solid").
-/// \param fout output stream.
+/** Output a Dot edge.
+ * \param source id of the source node
+ * \param destination id of the target node
+ * \param label human readable label of the edge
+ * (no Dot escaping needed). Can be 0.
+ * \param style Dot style of the edge (e.g., "dotted" or "solid").
+ * \param fout output stream.
+ */
void output_edge (int source, int destination, char const *label,
char const *style, FILE *fout);
-/// Output a reduction.
-/// \param s current state
-/// \param reds the set of reductions
-/// \param fout output stream.
+/** Output a reduction.
+ * \param s current state
+ * \param reds the set of reductions
+ * \param fout output stream.
+ */
void output_red (state const *s, reductions const *reds, FILE *fout);
-/// End a Dot graph.
-/// \param fout output stream.
+/** End a Dot graph.
+ *
+ * \param fout output stream.
+ */
void finish_graph (FILE *fout);
-/// Escape a lookahead token.
-/// \param name the token.
+/** Escape a lookahead token.
+ *
+ * \param name the token.
+ */
char const *escape (char const *name);
#endif /* ! GRAPHVIZ_H_ */
diff --git a/src/ielr.c b/src/ielr.c
index 39e9cb66..997ba13a 100644
--- a/src/ielr.c
+++ b/src/ielr.c
@@ -758,8 +758,8 @@ ielr_compute_state (bitsetv follow_kernel_items, bitsetv always_follows,
if (!bitset_empty_p (lookaheads[i]))
break;
}
- // bitset_equal_p uses the size of the first argument, so
- // lookaheads[i] must be the second argument.
+ /* bitset_equal_p uses the size of the first argument,
+ so lookaheads[i] must be the second argument. */
else if (!bitset_equal_p ((*this_isocorep)->lookaheads[i],
lookaheads[i]))
break;
@@ -1187,8 +1187,8 @@ ielr (void)
free (to_state);
if (lr_type == LR_TYPE__CANONICAL_LR)
{
- // Reduction lookaheads are computed in ielr_split_states above but are
- // timed as part of phase 4.
+ /* Reduction lookaheads are computed in ielr_split_states above
+ but are timed as part of phase 4. */
set_goto_map ();
}
else
diff --git a/src/scan-gram.l b/src/scan-gram.l
index e6f42ea9..d02b26bb 100644
--- a/src/scan-gram.l
+++ b/src/scan-gram.l
@@ -1012,7 +1012,7 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
loc.start = start;
loc.end = scanner_cursor;
token_end = quote (token_end);
- // Instead of '\'', display "'".
+ /* Instead of '\'', display "'". */
if (STREQ (token_end, "'\\''"))
token_end = "\"'\"";
complain (&loc, complaint, _(msgid), token_end);
diff --git a/src/system.h b/src/system.h
index 987ebe2a..01cce6dc 100644
--- a/src/system.h
+++ b/src/system.h
@@ -65,7 +65,7 @@
typedef size_t uintptr_t;
#endif
-// Version mismatch.
+/* Version mismatch. */
#define EX_MISMATCH 63
/*---------.
diff --git a/tests/actions.at b/tests/actions.at
index f62c43dd..84e840fa 100644
--- a/tests/actions.at
+++ b/tests/actions.at
@@ -90,7 +90,7 @@ AT_DATA_GRAMMAR([[input.y]],
%code
{
# include <stdio.h>
-# include <stdlib.h> // getenv
+# include <stdlib.h> /* getenv */
]AT_YYERROR_DECLARE[
]AT_YYLEX_DECLARE[
}
@@ -195,7 +195,7 @@ AT_DATA_GRAMMAR([[input.y]],
%code
{
# include <stdio.h>
-# include <stdlib.h> // getenv
+# include <stdlib.h> /* getenv */
]AT_YYERROR_DECLARE[
]AT_YYLEX_DECLARE[
}
@@ -223,6 +223,7 @@ main (void)
TEST(7, 2, 0, 2);
TEST(8, 0, 8, 0);
+ return 0;
}
]])
diff --git a/tests/glr-regression.at b/tests/glr-regression.at
index 1ab92238..41fc7bc7 100644
--- a/tests/glr-regression.at
+++ b/tests/glr-regression.at
@@ -195,10 +195,11 @@ yylex (void)
int
main (int argc, char **argv)
{
+ int res;
input = stdin;
if (argc == 2 && !(input = fopen (argv[1], "r")))
return 3;
- int res = yyparse ();
+ res = yyparse ();
if (argc == 2 && fclose (input))
return 4;
return res;
@@ -327,10 +328,11 @@ int yylex (void)
int
main(int argc, char* argv[])
{
+ int res;
input = stdin;
if (argc == 2 && !(input = fopen (argv[1], "r")))
return 3;
- int res = yyparse ();
+ res = yyparse ();
if (argc == 2 && fclose (input))
return 4;
return res;
diff --git a/tests/synclines.at b/tests/synclines.at
index 2fc74fe0..6b847195 100644
--- a/tests/synclines.at
+++ b/tests/synclines.at
@@ -127,7 +127,7 @@ AT_BISON_OPTION_PUSHDEFS
AT_DATA([syncline.c],
[[#error "1"
-int i; // avoids -pedantic warning about an empty translation unit
+int i; /* avoids -pedantic warning about an empty translation unit. */
]])
AT_SYNCLINES_COMPILE([syncline.c])