bison-patches
[Top][All Lists]
Advanced

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

[PATCH] Handles several --enable-gcc-warnings


From: Di-an JAN
Subject: [PATCH] Handles several --enable-gcc-warnings
Date: Sun, 16 Nov 2008 16:58:57 -0800 (PST)

This patch handles reasonable warnings from --enable-gcc-warnings.
It renames a muscle-producing function to use the prepare_* convention
as it's not a output-producing *_output function.

Tested on Cygwin on top of my previous patches with ``make check''
with one expected error.

I also get a warning for value = "" but the string pointed to is not changed
beyond that point.  The code doesn't seen wrong, so I didn't try to ``fix'' it.

src/getargs.c: In function `getargs':
src/getargs.c:535: warning: assignment discards qualifiers from pointer target 
type



2008-11-16  Di-an Jan  <address@hidden>

        Handles several --enable-gcc-warnings.
        * src/getargs.c (command_line_location): Set parameters to void.
        * src/output.c (symbol_type_name_cmp): Make static.
        (symbols_by_type_name): Set parameters to void.
        (symbol_definitions_output): Remove unused parameter.  Rename as...
        (prepare_symbol_definitions): this.
        (muscles_output): Move symbol_definitions_output to...
        (output): here as prepare_symbol_definitions.
        * tests/c++.at (AT_CHECK_VARIANTS): Remove unused parameters of main.
        (AT_CHECK_NAMESPACE): Make unused parameter lloc unnamed.


diff --git a/src/getargs.c b/src/getargs.c
index 53934f3..6b748c8 100644
--- a/src/getargs.c
+++ b/src/getargs.c
@@ -499,7 +499,7 @@ static struct option const long_options[] =
 /* Build a location for the current command line argument. */
 static
 location
-command_line_location()
+command_line_location (void)
 {
   location res;
   /* "<command line>" is used in GCC's messages about -D. */
diff --git a/src/output.c b/src/output.c
index 31bfd12..73e6348 100644
--- a/src/output.c
+++ b/src/output.c
@@ -287,7 +287,7 @@ prepare_states (void)
 | Compare two symbols by type-name, and then by number.  |
 `-------------------------------------------------------*/

-int
+static int
 symbol_type_name_cmp (const symbol **lhs, const symbol **rhs)
 {
   int res = UNIQSTR_CMP((*lhs)->type_name, (*rhs)->type_name);
@@ -302,7 +302,7 @@ symbol_type_name_cmp (const symbol **lhs, const symbol 
**rhs)
 `----------------------------------------------------------------*/

 static symbol **
-symbols_by_type_name ()
+symbols_by_type_name (void)
 {
   typedef int (*qcmp_type) (const void *, const void *);
   symbol **res = xmemdup (symbols, nsyms * sizeof *res);
@@ -396,12 +396,12 @@ merger_output (FILE *out)
 }


-/*---------------------------------------.
-| Output the symbol definitions to OUT.  |
-`---------------------------------------*/
+/*---------------------------------------------.
+| Prepare the muscles for symbol definitions.  |
+`---------------------------------------------*/

 static void
-symbol_definitions_output (FILE *out)
+prepare_symbol_definitions (void)
 {
   int i;
   for (i = 0; i < nsyms; ++i)
@@ -596,7 +596,6 @@ muscles_output (FILE *out)
   merger_output (out);
   symbol_code_props_output (out, "destructors", &symbol_destructor_get);
   symbol_code_props_output (out, "printers", &symbol_printer_get);
-  symbol_definitions_output (out);
   symbol_numbers_output (out);
   token_definitions_output (out);
   type_names_output (out);
@@ -794,6 +793,7 @@ output (void)
   prepare_rules ();
   prepare_states ();
   prepare_actions ();
+  prepare_symbol_definitions ();

   prepare ();

diff --git a/tests/c++.at b/tests/c++.at
index 0cfcaf0..33f1e35 100644
--- a/tests/c++.at
+++ b/tests/c++.at
@@ -174,7 +174,7 @@ yy::parser::error(const yy::parser::location_type&,
 }

 int
-main(int argc, char *argv[])
+main (void)
 {
   yy::parser p;
   p.set_debug_level(!!getenv("YYDEBUG"));
@@ -310,7 +310,7 @@ AT_DATA_GRAMMAR([[input.y]],

 %code {
   // YYSTYPE contains a namespace reference.
-  int yylex (YYSTYPE *lval, const ]$1[::parser::location_type* lloc) {
+  int yylex (YYSTYPE *lval, const ]$1[::parser::location_type*) {
     lval->i = 3;
     return 0;
   }




reply via email to

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