]> git.saurik.com Git - bison.git/blobdiff - src/getargs.c
Avoid gcc -Wundef warnings reported by Gerald Pfeifer in
[bison.git] / src / getargs.c
index 0113f3370f5e877773394d0cf35bf0bf8b5e2a1e..69e6f20f9edaa8334c141204d5f007217068b576 100644 (file)
@@ -1,5 +1,6 @@
-/* Parse command line arguments for bison.
-   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002
+/* Parse command line arguments for Bison.
+
+   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
    02111-1307, USA.  */
 
 #include "system.h"
-#include "getopt.h"
-#include "argmatch.h"
-#include "error.h"
+
+#include <argmatch.h>
+#include <error.h>
+
+/* Hack to get <getopt.h> to declare getopt with a prototype.  */
+#if lint && ! defined __GNU_LIBRARY__
+# define __GNU_LIBRARY__
+# define HACK_FOR___GNU_LIBRARY___PROTOTYPE 1
+#endif
+
+#include <getopt.h>
+
+#ifdef HACK_FOR___GNU_LIBRARY___PROTOTYPE
+# undef __GNU_LIBRARY__
+# undef HACK_FOR___GNU_LIBRARY___PROTOTYPE
+#endif
+
 #include "complain.h"
-#include "struniq.h"
-#include "getargs.h"
 #include "files.h"
+#include "getargs.h"
+#include "uniqstr.h"
 
 int debug_flag = 0;
 int defines_flag = 0;
@@ -88,7 +103,7 @@ static const int trace_types[] =
 static void
 trace_argmatch (char *args)
 {
-  ARGMATCH_ASSERT (trace_args, trace_types);
+  verify (trace_constraint, ARGMATCH_CONSTRAINT (trace_args, trace_types));
   if (args)
     {
       args = strtok (args, ",");
@@ -139,7 +154,7 @@ static const int report_types[] =
 static void
 report_argmatch (char *args)
 {
-  ARGMATCH_ASSERT (report_args, report_types);
+  verify (report_constraint, ARGMATCH_CONSTRAINT (report_args, report_types));
   args = strtok (args, ",");
   do
     {
@@ -248,7 +263,7 @@ version (void)
   putc ('\n', stdout);
 
   fprintf (stdout,
-          _("Copyright (C) %d Free Software Foundation, Inc.\n"), 2002);
+          _("Copyright (C) %d Free Software Foundation, Inc.\n"), 2003);
 
   fputs (_("\
 This is free software; see the source for copying conditions.  There is NO\n\
@@ -318,7 +333,8 @@ getargs (int argc, char *argv[])
 {
   int c;
 
-  while ((c = getopt_long (argc, argv, short_options, long_options, NULL)) != EOF)
+  while ((c = getopt_long (argc, argv, short_options, long_options, NULL))
+        != -1)
     switch (c)
       {
       case 0:
@@ -339,7 +355,8 @@ getargs (int argc, char *argv[])
       case 'g':
        /* Here, the -g and --graph=FILE options are differentiated.  */
        graph_flag = 1;
-       spec_graph_file = AS_FILE_NAME (optarg);
+       if (optarg)
+         spec_graph_file = AS_FILE_NAME (optarg);
        break;
 
       case 'v':
@@ -410,5 +427,5 @@ getargs (int argc, char *argv[])
       usage (EXIT_FAILURE);
     }
 
-  current_file = grammar_file = struniq_new (argv[optind]);
+  current_file = grammar_file = uniqstr_new (argv[optind]);
 }