summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-10-21 15:21:32 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2013-10-21 15:23:43 -0700
commit67411a88a0668401f9583526668e3930762c55f0 (patch)
treefdb458a5c28a254478d9598c7c24c1a6aab45f80
parent0bfe22b6d523a359fb2ac8892c6acf85342b54f6 (diff)
downloadbison-67411a88a0668401f9583526668e3930762c55f0.tar.gz
bison: pacify Sun C 5.12
* 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.
-rw-r--r--src/scan-code.l18
-rw-r--r--src/uniqstr.h4
2 files changed, 16 insertions, 6 deletions
diff --git a/src/scan-code.l b/src/scan-code.l
index cced97bf..f9968d1c 100644
--- a/src/scan-code.l
+++ b/src/scan-code.l
@@ -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
diff --git a/src/uniqstr.h b/src/uniqstr.h
index 006c10f4..7ad52da8 100644
--- a/src/uniqstr.h
+++ b/src/uniqstr.h
@@ -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)))