]> git.saurik.com Git - bison.git/commitdiff
bison: pacify Sun C 5.12
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Oct 2013 22:21:32 +0000 (15:21 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 21 Oct 2013 22:23:43 +0000 (15:23 -0700)
* src/scan-code.l (show_sub_message):
Redo initializations to work around a bogus Sun C 5.12 warning.
(parse_ref): Remove unreachable code that Sun C 5.12 complains about.
* src/uniqstr.h (uniqstr_vsprintf): Use
_GL_ATTRIBUTE_FORMAT_PRINTF (...)  instead of __attribute__
((__format__ (__printf__, ...))).  Otherwise, Sun C 5.12
complains about an unknown attribute.

src/scan-code.l
src/uniqstr.h

index cced97bfeaac135080bd320f351395854390f09d..f9968d1c71e0291dc14dd74248f39eafd9b3c977 100644 (file)
@@ -342,8 +342,19 @@ show_sub_message (warnings warning,
     {
       static struct obstack msg_buf;
       const char *tail = explicit_bracketing ? "" : cp + strlen (var->id);
-      const char *id = var->hidden_by ? var->hidden_by->id : var->id;
-      location id_loc = var->hidden_by ? var->hidden_by->loc : var->loc;
+      const char *id;
+      location id_loc;
+
+      if (var->hidden_by)
+       {
+         id = var->hidden_by->id;
+         id_loc = var->hidden_by->loc;
+       }
+      else
+       {
+         id = var->id;
+         id_loc = var->loc;
+       }
 
       /* Create the explanation message. */
       obstack_init (&msg_buf);
@@ -573,9 +584,6 @@ parse_ref (char *cp, symbol_list *rule, int rule_length,
         return INVALID_REF;
       }
     }
-
-  /* Not reachable. */
-  return INVALID_REF;
 }
 
 /* Keeps track of the maximum number of semantic values to the left of
index 006c10f4ad67e8d66435f6473577f6792aba9fff..7ad52da8371f34d8d24957a918c0434e2b7a913e 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef UNIQSTR_H_
 # define UNIQSTR_H_
 
+# include <stdio.h>
+
 /*-----------------------------------------.
 | Pointers to unique copies of C strings.  |
 `-----------------------------------------*/
@@ -33,7 +35,7 @@ uniqstr uniqstr_new (char const *str);
    strings, use UNIQSTR_CONCAT, which is a convenient wrapper around
    this function.  */
 uniqstr uniqstr_vsprintf (char const *format, ...)
-  __attribute__ ((__format__ (__printf__, 1, 2)));
+  _GL_ATTRIBUTE_FORMAT_PRINTF (1, 2);
 
 /* Two uniqstr values have the same value iff they are the same.  */
 # define UNIQSTR_EQ(Ustr1, Ustr2) (!!((Ustr1) == (Ustr2)))