diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 1998-09-20 06:43:23 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 1998-09-20 06:43:23 +0000 |
commit | 7511142254795beb9417f1c226d3ba471a9272fc (patch) | |
tree | d27f7048847bc13ea36b08616d926a32a195fdac /gcc/ch/lex.c | |
parent | 9a8a3666686731ec5447bc93b6dc27a9b9d97ec0 (diff) | |
download | gcc-7511142254795beb9417f1c226d3ba471a9272fc.zip gcc-7511142254795beb9417f1c226d3ba471a9272fc.tar.gz gcc-7511142254795beb9417f1c226d3ba471a9272fc.tar.bz2 |
Warning fixes:
* Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
typeck.o): Depend on system.h and toplev.h.
(except.o): Depend on toplev.h.
(grant.o): Depend on system.h, toplev.h and output.h.
* actions.c: Include system.h and toplev.h. Remove redundant
prototypes.
(build_cause_exception): Add default case in switch.
(update_else_range_for_range): Add parentheses around && within ||.
(chill_handle_multi_case_label_list): Remove unused variable
`selector_value'.
(print_missing_cases): Reconcile format specifiers vs arguments in
calls to sprintf.
* ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
with macro BUFSIZ. Add missing prototypes.
* convert.c: Include system.h and toplev.h. Remove redundant
prototypes.
(convert): Remove unused variable `errstr'.
* decl.c: Include system.h and toplev.h. Remove redundant
prototypes.
(builtin_scope): Add missing initializers.
(clear_scope): Likewise.
(allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
(copy_lang_decl): Likewise for parameter `node'.
(c_decode_option): Likewise for parameter `argc'.
(push_extern_function): Likewise for parameter `granting'.
(switch_to_pass_2): Hide declaration of errorcount/sorrycount.
(pushdecl): Remove unused variable `t'.
(lookup_name_current_level): Make static and hide.
(lookup_name_for_seizing): Make static.
(finish_decl): Remove unused variable `type'.
(maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
(complete_array_type): Mark parameters `type', `initial_value' and
`do_default' with ATTRIBUTE_UNUSED.
(start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
(start_enum): Likewise.
(shadow_record_fields): Remove unused variables `type' and `parent'.
* except.c: Include toplev.h. Remove redundant prototypes.
* expr.c: Include system.h and toplev.h. Don't define NULL.
Remove redundant prototypes.
(internal_build_compound_expr): Mark parameter `first_p' with
ATTRIBUTE_UNUSED.
(build_allocate_getstack): Remove unused variable `init'.
(build_chill_pred_or_succ): Likewise for variable `limit'.
(varying_to_slice): Likewise for variable `doamin' [sic].
(finish_chill_binary_op): Likewise for variables `code0' and
`code1'. Remove unused label `finish'. Add explicit braces to
avoid ambiguous `else'.
(build_chill_addr_expr): Remove extra parameter in call to `error'.
(build_chill_unary_op): Remove unused variables `class' and `type0'.
(powersetlen): Remove unused variables `domain' and `temp'.
* grant.c: Include system.h, toplev.h and output.h. Don't handle
strchr/strrchr. Remove redundant prototypes.
(decode_constant_selective): Remove unused variables `op' and `wrk'.
(push_granted): Mark parameters `name' and `decl' with
ATTRIBUTE_UNUSED.
* inout.c: Include system.h and toplev.h. Remove redundant
prototypes.
(textlocation_mode): Use &&, not &, when comparing two truth
values.
(scanformcont): Remove unused label `do_the_action'.
* lang.c: Include system.h and toplev.h. Remove redundant
prototypes.
(lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
(maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
(lang_print_xnode): Likewise for parameters `file', `node' and
`indent'.
(lang_decode_option): Explicitly declare `explicit_ignore_case'.
(incomplete_type_error): Mark parameters `value' and `type' with
ATTRIBUTE_UNUSED.
* lex.c: Include system.h and toplev.h. Remove redundant
prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
versions of ctype macros from system.h. Cast ctype arguments to
unsigned char when necessary.
(last_token, RETURN_TOKEN): Hide definition.
(push_back): Remove unused function.
(readstring): Change variable `i' to unsigned.
(yywrap): Remove unused variable `node'.
* loop.c: Include system.h and toplev.h. Remove redundant
prototypes.
(chill_unsigned_type): Hide prototype and definition.
(begin_loop_scope): Remove unused variable `firstp'.
(nonvalue_begin_loop_scope): Likewise.
* parse.c: Include system.h and toplev.h. Remove redundant
prototypes.
(quasi_signal): Hide.
(PEEK_TOKEN): Change return type to `enum terminal'.
(parse_mode_definition_statement): Remove unused variable `names'.
(parse_formpar): Remove unused parameter `in_spec_module'. All
callers changed.
(parse_formparlist): Likewise.
(parse_processpar): Remove unused variable `parms'.
(parse_definition): Add explicit braces to avoid ambiguous `else'.
(parse_multi_dimension_case_action): Initialize variable
`begin_test_label'. Remove unused variable `new_test'.
(parse_case_action): Remove unused variable `caseaction_flag'.
(parse_asm_clobbers): Remove unused variable `expr'.
(parse_delay_case_action): Initialize variable `label_cnt'.
(parse_action): Make function static.
(parse_tuple_element): Remove unused variable `list'.
(parse_primval): Add default case in switch.
(parse_variant_alternative): Remove unused variables `x' and
`variant_fields'.
* satisfy.c: Include system.h and toplev.h. Remove redundant
prototypes.
* tasking.c Include system.h and toplev.h. Remove redundant
prototypes.
(data_name): Hide.
(get_struct_variable_name): Likewise.
(validate_process_parameters): Mark parameter `parms' with
ATTRIBUTE_UNUSED.
(build_start_process): Initialize variable `tuple'.
(build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
* timing.c: Include system.h and toplev.h.
(build_after_timeout_start): Remove unused variable `goto_where'.
* tree.c: Include system.h and toplev.h. Remove redundant
prototypes.
* typeck.c: Include system.h and toplev.h. Remove redundant
prototypes.
(extract_constant_from_buffer): Make function static. Add
explicit braces to avoid ambiguous `else'.
(expand_constant_to_buffer): Likewise.
(build_chill_slice): remove unused variable `is_static'.
(chill_compatible): Add explicit braces to avoid ambiguous `else'.
(apply_chill_array_layout): Remove unused variable `offset'.
(smash_dummy_type): Remove unused variable `save_lang_specific'.
(initializer_constant_valid_p): Add default case in switch.
From-SVN: r22493
Diffstat (limited to 'gcc/ch/lex.c')
-rw-r--r-- | gcc/ch/lex.c | 104 |
1 files changed, 36 insertions, 68 deletions
diff --git a/gcc/ch/lex.c b/gcc/ch/lex.c index 17b9268..bb841d1 100644 --- a/gcc/ch/lex.c +++ b/gcc/ch/lex.c @@ -17,14 +17,11 @@ You should have received a copy of the GNU General Public License along with GNU CC; see the file COPYING. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <stdio.h> -#include <errno.h> +#include "config.h" +#include "system.h" #include <setjmp.h> -#include <ctype.h> -#include <sys/types.h> #include <sys/stat.h> -#include "config.h" #include "tree.h" #include "input.h" @@ -33,24 +30,24 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "flags.h" #include "parse.h" #include "obstack.h" +#include "toplev.h" #ifdef MULTIBYTE_CHARS -#include <stdlib.h> #include <locale.h> #endif /* include the keyword recognizers */ #include "hash.h" -#undef strchr - FILE* finput; +#if 0 static int last_token = 0; /* Sun's C compiler warns about the safer sequence do { .. } while 0 when there's a 'return' inside the braces, so don't use it */ #define RETURN_TOKEN(X) { last_token = X; return (X); } +#endif /* This is set non-zero to force incoming tokens to lowercase. */ extern int ignore_case; @@ -64,23 +61,6 @@ extern int special_UC; extern struct obstack permanent_obstack; extern struct obstack temporary_obstack; -#ifndef errno -extern int errno; -#endif - -extern tree build_string_type PROTO((tree, tree)); -extern void error PROTO((char *, ...)); -extern void error_with_file_and_line PROTO((char *, int, char *, ...)); -extern void grant_use_seizefile PROTO((char *)); -extern void pedwarn PROTO((char *, ...)); -extern void pfatal_with_name PROTO((char *)); -extern void push_obstacks PROTO((struct obstack *, struct obstack *)); -extern void set_identifier_size PROTO((int)); -extern void sorry PROTO((char *, ...)); -extern int target_isinf PROTO((REAL_VALUE_TYPE)); -extern int tolower PROTO((int)); -extern void warning PROTO((char *, ...)); - /* forward declarations */ static void close_input_file PROTO((char *)); static tree convert_bitstring PROTO((char *)); @@ -90,7 +70,6 @@ static int maybe_number PROTO((char *)); static tree equal_number PROTO((void)); static void handle_use_seizefile_directive PROTO((int)); static int handle_name PROTO((tree)); -static void push_back PROTO((int)); static char *readstring PROTO((int, int *)); static void read_directive PROTO((void)); static tree read_identifier PROTO((int)); @@ -508,7 +487,7 @@ yylex () break; if (ch == '_') continue; - if (!isxdigit (ch)) /* error on non-hex digit */ + if (!ISXDIGIT (ch)) /* error on non-hex digit */ { if (pass == 1) error ("invalid C'xx' "); @@ -544,7 +523,7 @@ yylex () for (;;) { ch = input (); - if (isalnum (ch)) + if (ISALNUM (ch)) obstack_1grow (&temporary_obstack, ch); else if (ch != '_') break; @@ -594,7 +573,7 @@ yylex () case '.': nextc = input (); unput (nextc); - if (isdigit (nextc)) /* || nextc == '_') we don't start numbers with '_' */ + if (ISDIGIT (nextc)) /* || nextc == '_') we don't start numbers with '_' */ goto number; return DOT; case '0': case '1': case '2': case '3': case '4': @@ -637,7 +616,7 @@ read_identifier (first) first = input (); if (first == EOF) break; - if (! isalnum (first) && first != '_') + if (! ISALNUM (first) && first != '_') { unput (first); break; @@ -661,7 +640,7 @@ handle_name (id) struct resword *tp; tp = in_word_set (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); if (tp != NULL - && special_UC == isupper (tp->name[0]) + && special_UC == ISUPPER ((unsigned char) tp->name[0]) && (tp->flags == RESERVED || tp->flags == PREDEF)) { if (tp->rid != NORID) @@ -686,7 +665,7 @@ read_number (ch) if (ch != '_') obstack_1grow (&temporary_obstack, ch); ch = input (); - if (! isdigit (ch) && ch != '_') + if (! ISDIGIT (ch) && ch != '_') break; } if (ch == '.') @@ -696,7 +675,7 @@ read_number (ch) if (ch != '_') obstack_1grow (&temporary_obstack, ch); ch = input (); - } while (isdigit (ch) || ch == '_'); + } while (ISDIGIT (ch) || ch == '_'); is_float++; } if (ch == 'd' || ch == 'D' || ch == 'e' || ch == 'E') @@ -709,14 +688,14 @@ read_number (ch) obstack_1grow (&temporary_obstack, ch); ch = input (); } - if (isdigit (ch) || ch == '_') + if (ISDIGIT (ch) || ch == '_') { do { if (ch != '_') obstack_1grow (&temporary_obstack, ch); ch = input (); - } while (isdigit (ch) || ch == '_'); + } while (ISDIGIT (ch) || ch == '_'); } else { @@ -779,7 +758,7 @@ read_directive () struct resword *tp; tree id; int ch = skip_whitespace(); - if (isalpha (ch) || ch == '_') + if (ISALPHA (ch) || ch == '_') id = read_identifier (ch); else if (ch == EOF) { @@ -794,7 +773,7 @@ read_directive () return; } tp = in_word_set (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id)); - if (tp == NULL || special_UC != isupper (tp->name[0])) + if (tp == NULL || special_UC != ISUPPER ((unsigned char) tp->name[0])) { if (pass == 1) warning ("unrecognized compiler directive `%s'", @@ -897,7 +876,7 @@ maybe_downcase (str) return; while (*str) { - if (isupper (*str)) + if (ISUPPER ((unsigned char) *str)) *str = tolower (*str); str++; } @@ -938,7 +917,7 @@ maybe_number (s) break; case 'h': case 'H': - if (!isxdigit (*s)) + if (!ISXDIGIT ((unsigned char) *s)) return 0; break; case 'b': @@ -958,15 +937,6 @@ maybe_number (s) } return 1; } - -static void -push_back (c) -char c; -{ - if (c == '\n') - lineno--; - unput (c); -} static char * readstring (terminator, len) @@ -976,7 +946,7 @@ readstring (terminator, len) int c; unsigned allocated = 1024; char *tmp = xmalloc (allocated); - int i = 0; + unsigned i = 0; for (;;) { @@ -1110,14 +1080,14 @@ readstring (terminator, len) } else if (base == 10) { - if (! isdigit (cc)) + if (! ISDIGIT (cc)) cc = -1; else cc -= '0'; } else if (base == 16) { - if (!isxdigit (cc)) + if (!ISXDIGIT (cc)) cc = -1; else { @@ -1212,7 +1182,7 @@ convert_integer (intchars) base = 2; break; default: - if (!isdigit (*p)) /* this test is for equal_number () */ + if (!ISDIGIT (*p)) /* this test is for equal_number () */ { obstack_free (&temporary_obstack, intchars); return 0; @@ -1380,7 +1350,6 @@ same_file (filename1, filename2) struct stat s[2]; char *fn_input[2]; int i, stat_status; - extern char *strchr(); if (grant_only_flag) /* do nothing in this case */ @@ -1490,7 +1459,7 @@ getlc (file) register int c; c = getc (file); - if (isupper (c) && ignore_case) + if (ISUPPER (c) && ignore_case) c = tolower (c); return c; } @@ -1554,7 +1523,7 @@ check_newline () it and ignore it; otherwise, ignore the line, with an error if the word isn't `pragma', `ident', `define', or `undef'. */ - if (isupper (c) && ignore_case) + if (ISUPPER (c) && ignore_case) c = tolower (c); if (c >= 'a' && c <= 'z') @@ -1566,14 +1535,14 @@ check_newline () && getlc (finput) == 'g' && getlc (finput) == 'm' && getlc (finput) == 'a' - && (isspace (c = getlc (finput)))) + && (c = getlc (finput), ISSPACE (c))) { #ifdef HANDLE_PRAGMA static char buffer [128]; char * buff = buffer; /* Read the pragma name into a buffer. */ - while (isspace (c = getlc (finput))) + while (c = getlc (finput), ISSPACE (c)) continue; do @@ -1581,7 +1550,7 @@ check_newline () * buff ++ = c; c = getlc (finput); } - while (c != EOF && ! isspace (c) && c != '\n' + while (c != EOF && ! ISSPACE (c) && c != '\n' && buff < buffer + 128); pragma_ungetc (c); @@ -1601,7 +1570,7 @@ check_newline () && getlc (finput) == 'i' && getlc (finput) == 'n' && getlc (finput) == 'e' - && (isspace (c = getlc (finput)))) + && (c = getlc (finput), ISSPACE (c))) { #if 0 /*def DWARF_DEBUGGING_INFO*/ if (c != '\n' @@ -1618,7 +1587,7 @@ check_newline () && getlc (finput) == 'd' && getlc (finput) == 'e' && getlc (finput) == 'f' - && (isspace (c = getlc (finput)))) + && (c = getlc (finput), ISSPACE (c))) { #if 0 /*def DWARF_DEBUGGING_INFO*/ if (c != '\n' @@ -1699,7 +1668,7 @@ linenum: /* Something follows the #; read a token. */ - if (isdigit(c)) + if (ISDIGIT(c)) { int old_lineno = lineno; int used_up = 0; @@ -1710,7 +1679,7 @@ linenum: { l = l * 10 + (c - '0'); /* FIXME Not portable */ c = getlc(finput); - } while (isdigit(c)); + } while (ISDIGIT(c)); /* subtract one, because it is the following line that gets the specified number */ @@ -1777,7 +1746,7 @@ linenum: /* `1' after file name means entering new file. `2' after file name means just left a file. */ - if (isdigit (c)) + if (ISDIGIT (c)) { if (c == '1') { @@ -1976,7 +1945,7 @@ equal_number () /* collect token into tokenbuf for later analysis */ while (TRUE) { - if (isspace (c) || c == '<') + if (ISSPACE (c) || c == '<') break; obstack_1grow (&temporary_obstack, c); c = input (); @@ -2017,7 +1986,7 @@ equal_number () { cursor = tokenbuf; c = *cursor; - if (!isalpha (c) && c != '_') + if (!ISALPHA (c) && c != '_') { if (pass == 1) error ("invalid value follows `=' in compiler directive"); @@ -2025,7 +1994,8 @@ equal_number () } for (cursor = &tokenbuf[1]; *cursor != '\0'; cursor++) - if (isalpha (*cursor) || *cursor == '_' || isdigit (*cursor)) + if (ISALPHA ((unsigned char) *cursor) || *cursor == '_' || + ISDIGIT (*cursor)) continue; else { @@ -2117,9 +2087,7 @@ mark_use_seizefile_written (name) static int yywrap () { - extern char *strchr (); extern char *chill_real_input_filename; - tree node; close_input_file (input_filename); |