From: Neil Booth Date: Sun, 29 Jul 2001 22:27:20 +0000 (+0000) Subject: cpphash.h (struct cpp_reader): Remove import_warning. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=09b822537f65ad55e817f388e9edfb72df481160;p=gcc.git cpphash.h (struct cpp_reader): Remove import_warning. * cpphash.h (struct cpp_reader): Remove import_warning. * cpplib.c (skip_rest_of_line): Don't bother turning off macro expansion. (parse_include): Move include handling to... (do_include_common): ... here. Move import warning from... (do_import): ... here. (do_pragma_poison): Don't do a callback for poison identifiers. * cpplib.h (struct cpp_callbacks): Don't do poison callbacks. * cppmain.c (setup_callbacks): Similarly. From-SVN: r44466 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e332746b013..74949b3aacc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2001-07-29 Neil Booth + + * cpphash.h (struct cpp_reader): Remove import_warning. + * cpplib.c (skip_rest_of_line): Don't bother turning off + macro expansion. + (parse_include): Move include handling to... + (do_include_common): ... here. Move import warning from... + (do_import): ... here. + (do_pragma_poison): Don't do a callback for poison identifiers. + * cpplib.h (struct cpp_callbacks): Don't do poison callbacks. + * cppmain.c (setup_callbacks): Similarly. + Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka * rtlanal.c (parms_set, find_first_parameter_load): Break out from...; diff --git a/gcc/cpphash.h b/gcc/cpphash.h index 368fe46f287..82746b5e24c 100644 --- a/gcc/cpphash.h +++ b/gcc/cpphash.h @@ -333,9 +333,6 @@ struct cpp_reader preprocessor. */ struct spec_nodes spec_nodes; - /* We're printed a warning recommending against using #import. */ - unsigned char import_warning; - /* Whether to print our version number. Done this way so we don't get it twice for -v -version. */ unsigned char print_version; diff --git a/gcc/cpplib.c b/gcc/cpplib.c index 8f9f54c8be6..cea54f42cc6 100644 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -194,10 +194,8 @@ skip_rest_of_line (pfile) _cpp_pop_context (pfile); /* Sweep up all tokens remaining on the line. */ - pfile->state.prevent_expansion++; while (!pfile->state.next_bol) _cpp_lex_token (pfile, &token); - pfile->state.prevent_expansion--; } /* Ensure there are no stray tokens at the end of a directive. */ @@ -565,10 +563,9 @@ parse_include (pfile, header) cpp_reader *pfile; cpp_token *header; { - int is_pragma = pfile->directive == &dtable[T_PRAGMA]; const unsigned char *dir; - if (is_pragma) + if (pfile->directive == &dtable[T_PRAGMA]) dir = U"pragma dependency"; else dir = pfile->directive->name; @@ -592,15 +589,6 @@ parse_include (pfile, header) return 1; } - if (!is_pragma) - { - check_eol (pfile); - /* Get out of macro context, if we are. */ - skip_rest_of_line (pfile); - if (pfile->cb.include) - (*pfile->cb.include) (pfile, dir, header); - } - return 0; } @@ -612,22 +600,32 @@ do_include_common (pfile, type) { cpp_token header; + /* For #include_next, if this is the primary source file, warn and + use the normal search logic. */ + if (type == IT_INCLUDE_NEXT && ! pfile->buffer->prev) + { + cpp_warning (pfile, "#include_next in primary source file"); + type = IT_INCLUDE; + } + else if (type == IT_IMPORT && CPP_OPTION (pfile, warn_import)) + { + CPP_OPTION (pfile, warn_import) = 0; + cpp_warning (pfile, + "#import is obsolete, use an #ifndef wrapper in the header file"); + } + if (!parse_include (pfile, &header)) { /* Prevent #include recursion. */ if (pfile->buffer_stack_depth >= CPP_STACK_MAX) cpp_fatal (pfile, "#include nested too deeply"); - else if (pfile->context->prev) - cpp_ice (pfile, "attempt to push file buffer with contexts stacked"); else { - /* For #include_next, if this is the primary source file, - warn and use the normal search logic. */ - if (type == IT_INCLUDE_NEXT && ! pfile->buffer->prev) - { - cpp_warning (pfile, "#include_next in primary source file"); - type = IT_INCLUDE; - } + check_eol (pfile); + /* Get out of macro context, if we are. */ + skip_rest_of_line (pfile); + if (pfile->cb.include) + (*pfile->cb.include) (pfile, pfile->directive->name, &header); _cpp_execute_include (pfile, &header, type); } @@ -645,13 +643,6 @@ static void do_import (pfile) cpp_reader *pfile; { - if (!pfile->import_warning && CPP_OPTION (pfile, warn_import)) - { - pfile->import_warning = 1; - cpp_warning (pfile, - "#import is obsolete, use an #ifndef wrapper in the header file"); - } - do_include_common (pfile, IT_IMPORT); } @@ -1111,11 +1102,6 @@ do_pragma_poison (pfile) hp->flags |= NODE_POISONED | NODE_DIAGNOSTIC; } pfile->state.poisoned_ok = 0; - -#if 0 /* Doesn't quite work yet. */ - if (tok.type == CPP_EOF && pfile->cb.poison) - (*pfile->cb.poison) (pfile); -#endif } /* Mark the current header as a system header. This will suppress diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 4e24ef7f005..58e4af60316 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -411,7 +411,6 @@ struct cpp_callbacks const cpp_token *)); void (*define) PARAMS ((cpp_reader *, cpp_hashnode *)); void (*undef) PARAMS ((cpp_reader *, cpp_hashnode *)); - void (*poison) PARAMS ((cpp_reader *)); void (*ident) PARAMS ((cpp_reader *, const cpp_string *)); void (*def_pragma) PARAMS ((cpp_reader *)); }; diff --git a/gcc/cppmain.c b/gcc/cppmain.c index b946a8e66ee..8f1982f5389 100644 --- a/gcc/cppmain.c +++ b/gcc/cppmain.c @@ -193,7 +193,6 @@ setup_callbacks () { cb->define = cb_define; cb->undef = cb_undef; - cb->poison = cb_def_pragma; } }