mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
fix C90 compliance
* data/glr.c, src/graphviz.h, src/ielr.c, src/scan-gram.l, * src/system.h, tests/actions.at, tests/glr-regression.at: Do not use // comments. Do not introduce variables after statements. Provide "main" with a return value.
This commit is contained in:
2
NEWS
2
NEWS
@@ -6,6 +6,8 @@ GNU Bison NEWS
|
|||||||
|
|
||||||
Warnings about uninitialized yylloc in yyparse have been fixed.
|
Warnings about uninitialized yylloc in yyparse have been fixed.
|
||||||
|
|
||||||
|
Restored C90 compliance (yet no report was ever made).
|
||||||
|
|
||||||
** Diagnostics are improved
|
** Diagnostics are improved
|
||||||
|
|
||||||
*** Changes in the format of error messages
|
*** Changes in the format of error messages
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ b4_percent_code_get[]dnl
|
|||||||
# include <setjmp.h>
|
# include <setjmp.h>
|
||||||
# define YYJMP_BUF jmp_buf
|
# define YYJMP_BUF jmp_buf
|
||||||
# define YYSETJMP(Env) setjmp (Env)
|
# define YYSETJMP(Env) setjmp (Env)
|
||||||
// Pacify clang.
|
/* Pacify clang. */
|
||||||
# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
|
# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -2013,6 +2013,7 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
#if ! YYERROR_VERBOSE
|
#if ! YYERROR_VERBOSE
|
||||||
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
||||||
#else
|
#else
|
||||||
|
{
|
||||||
yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
|
||||||
size_t yysize0 = yytnamerr (YY_NULL, yytokenName (yytoken));
|
size_t yysize0 = yytnamerr (YY_NULL, yytokenName (yytoken));
|
||||||
size_t yysize = yysize0;
|
size_t yysize = yysize0;
|
||||||
@@ -2133,6 +2134,7 @@ yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
|
|||||||
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
yyerror (]b4_lyyerror_args[YY_("syntax error"));
|
||||||
yyMemoryExhausted (yystackp);
|
yyMemoryExhausted (yystackp);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif /* YYERROR_VERBOSE */
|
#endif /* YYERROR_VERBOSE */
|
||||||
yynerrs += 1;
|
yynerrs += 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,38 +24,48 @@
|
|||||||
|
|
||||||
#include "state.h"
|
#include "state.h"
|
||||||
|
|
||||||
/// Begin a Dot graph.
|
/** Begin a Dot graph.
|
||||||
/// \param fout output stream.
|
*
|
||||||
|
* \param fout output stream.
|
||||||
|
*/
|
||||||
void start_graph (FILE *fout);
|
void start_graph (FILE *fout);
|
||||||
|
|
||||||
/// Output a Dot node.
|
/** Output a Dot node.
|
||||||
/// \param id identifier of the node
|
*
|
||||||
/// \param label human readable label of the node (no Dot escaping needed).
|
* \param id identifier of the node
|
||||||
/// \param fout output stream.
|
* \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);
|
void output_node (int id, char const *label, FILE *fout);
|
||||||
|
|
||||||
/// Output a Dot edge.
|
/** Output a Dot edge.
|
||||||
/// \param source id of the source node
|
* \param source id of the source node
|
||||||
/// \param destination id of the target node
|
* \param destination id of the target node
|
||||||
/// \param label human readable label of the edge
|
* \param label human readable label of the edge
|
||||||
/// (no Dot escaping needed). Can be 0.
|
* (no Dot escaping needed). Can be 0.
|
||||||
/// \param style Dot style of the edge (e.g., "dotted" or "solid").
|
* \param style Dot style of the edge (e.g., "dotted" or "solid").
|
||||||
/// \param fout output stream.
|
* \param fout output stream.
|
||||||
|
*/
|
||||||
void output_edge (int source, int destination, char const *label,
|
void output_edge (int source, int destination, char const *label,
|
||||||
char const *style, FILE *fout);
|
char const *style, FILE *fout);
|
||||||
|
|
||||||
/// Output a reduction.
|
/** Output a reduction.
|
||||||
/// \param s current state
|
* \param s current state
|
||||||
/// \param reds the set of reductions
|
* \param reds the set of reductions
|
||||||
/// \param fout output stream.
|
* \param fout output stream.
|
||||||
|
*/
|
||||||
void output_red (state const *s, reductions const *reds, FILE *fout);
|
void output_red (state const *s, reductions const *reds, FILE *fout);
|
||||||
|
|
||||||
/// End a Dot graph.
|
/** End a Dot graph.
|
||||||
/// \param fout output stream.
|
*
|
||||||
|
* \param fout output stream.
|
||||||
|
*/
|
||||||
void finish_graph (FILE *fout);
|
void finish_graph (FILE *fout);
|
||||||
|
|
||||||
/// Escape a lookahead token.
|
/** Escape a lookahead token.
|
||||||
/// \param name the token.
|
*
|
||||||
|
* \param name the token.
|
||||||
|
*/
|
||||||
char const *escape (char const *name);
|
char const *escape (char const *name);
|
||||||
|
|
||||||
#endif /* ! GRAPHVIZ_H_ */
|
#endif /* ! GRAPHVIZ_H_ */
|
||||||
|
|||||||
@@ -758,8 +758,8 @@ ielr_compute_state (bitsetv follow_kernel_items, bitsetv always_follows,
|
|||||||
if (!bitset_empty_p (lookaheads[i]))
|
if (!bitset_empty_p (lookaheads[i]))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// bitset_equal_p uses the size of the first argument, so
|
/* bitset_equal_p uses the size of the first argument,
|
||||||
// lookaheads[i] must be the second argument.
|
so lookaheads[i] must be the second argument. */
|
||||||
else if (!bitset_equal_p ((*this_isocorep)->lookaheads[i],
|
else if (!bitset_equal_p ((*this_isocorep)->lookaheads[i],
|
||||||
lookaheads[i]))
|
lookaheads[i]))
|
||||||
break;
|
break;
|
||||||
@@ -1187,8 +1187,8 @@ ielr (void)
|
|||||||
free (to_state);
|
free (to_state);
|
||||||
if (lr_type == LR_TYPE__CANONICAL_LR)
|
if (lr_type == LR_TYPE__CANONICAL_LR)
|
||||||
{
|
{
|
||||||
// Reduction lookaheads are computed in ielr_split_states above but are
|
/* Reduction lookaheads are computed in ielr_split_states above
|
||||||
// timed as part of phase 4.
|
but are timed as part of phase 4. */
|
||||||
set_goto_map ();
|
set_goto_map ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -883,7 +883,7 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
|
|||||||
loc.start = start;
|
loc.start = start;
|
||||||
loc.end = scanner_cursor;
|
loc.end = scanner_cursor;
|
||||||
token_end = quote (token_end);
|
token_end = quote (token_end);
|
||||||
// Instead of '\'', display "'".
|
/* Instead of '\'', display "'". */
|
||||||
if (!strcmp (token_end, "'\\''"))
|
if (!strcmp (token_end, "'\\''"))
|
||||||
token_end = "\"'\"";
|
token_end = "\"'\"";
|
||||||
complain_at (loc, _(msgid), token_end);
|
complain_at (loc, _(msgid), token_end);
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
typedef size_t uintptr_t;
|
typedef size_t uintptr_t;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// Version mismatch.
|
/* Version mismatch. */
|
||||||
# define EX_MISMATCH 63
|
# define EX_MISMATCH 63
|
||||||
|
|
||||||
/*---------.
|
/*---------.
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ AT_DATA_GRAMMAR([[input.y]],
|
|||||||
%code
|
%code
|
||||||
{
|
{
|
||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
# include <stdlib.h> // getenv
|
# include <stdlib.h> /* getenv */
|
||||||
]AT_YYERROR_DECLARE[
|
]AT_YYERROR_DECLARE[
|
||||||
]AT_YYLEX_DECLARE[
|
]AT_YYLEX_DECLARE[
|
||||||
}
|
}
|
||||||
@@ -195,7 +195,7 @@ AT_DATA_GRAMMAR([[input.y]],
|
|||||||
%code
|
%code
|
||||||
{
|
{
|
||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
# include <stdlib.h> // getenv
|
# include <stdlib.h> /* getenv */
|
||||||
]AT_YYERROR_DECLARE[
|
]AT_YYERROR_DECLARE[
|
||||||
]AT_YYLEX_DECLARE[
|
]AT_YYLEX_DECLARE[
|
||||||
}
|
}
|
||||||
@@ -223,6 +223,7 @@ main (void)
|
|||||||
|
|
||||||
TEST(7, 2, 0, 2);
|
TEST(7, 2, 0, 2);
|
||||||
TEST(8, 0, 8, 0);
|
TEST(8, 0, 8, 0);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
]])
|
]])
|
||||||
|
|
||||||
|
|||||||
@@ -195,10 +195,11 @@ yylex (void)
|
|||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
int res;
|
||||||
input = stdin;
|
input = stdin;
|
||||||
if (argc == 2 && !(input = fopen (argv[1], "r")))
|
if (argc == 2 && !(input = fopen (argv[1], "r")))
|
||||||
return 3;
|
return 3;
|
||||||
int res = yyparse ();
|
res = yyparse ();
|
||||||
if (argc == 2 && fclose (input))
|
if (argc == 2 && fclose (input))
|
||||||
return 4;
|
return 4;
|
||||||
return res;
|
return res;
|
||||||
@@ -327,10 +328,11 @@ int yylex (void)
|
|||||||
int
|
int
|
||||||
main(int argc, char* argv[])
|
main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
int res;
|
||||||
input = stdin;
|
input = stdin;
|
||||||
if (argc == 2 && !(input = fopen (argv[1], "r")))
|
if (argc == 2 && !(input = fopen (argv[1], "r")))
|
||||||
return 3;
|
return 3;
|
||||||
int res = yyparse ();
|
res = yyparse ();
|
||||||
if (argc == 2 && fclose (input))
|
if (argc == 2 && fclose (input))
|
||||||
return 4;
|
return 4;
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
Reference in New Issue
Block a user