diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2013-10-21 15:21:32 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2013-10-21 15:23:43 -0700 |
commit | 67411a88a0668401f9583526668e3930762c55f0 (patch) | |
tree | fdb458a5c28a254478d9598c7c24c1a6aab45f80 /src | |
parent | 0bfe22b6d523a359fb2ac8892c6acf85342b54f6 (diff) | |
download | bison-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.
Diffstat (limited to 'src')
-rw-r--r-- | src/scan-code.l | 18 | ||||
-rw-r--r-- | src/uniqstr.h | 4 |
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))) |