aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNeil Booth <neil@cat.daikokuya.demon.co.uk>2001-07-29 22:27:20 +0000
committerNeil Booth <neil@gcc.gnu.org>2001-07-29 22:27:20 +0000
commit09b822537f65ad55e817f388e9edfb72df481160 (patch)
treea4545b1be233ce41483a3c3d4d1954f3b6541a6a /gcc
parent833366d6c90ddcb12ec0b7d63b6e57fd3b0f5793 (diff)
downloadgcc-09b822537f65ad55e817f388e9edfb72df481160.zip
gcc-09b822537f65ad55e817f388e9edfb72df481160.tar.gz
gcc-09b822537f65ad55e817f388e9edfb72df481160.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/cpphash.h3
-rw-r--r--gcc/cpplib.c54
-rw-r--r--gcc/cpplib.h1
-rw-r--r--gcc/cppmain.c1
5 files changed, 32 insertions, 39 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e332746..74949b3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
+
+ * 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 <jh@suse.cz>
* rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
diff --git a/gcc/cpphash.h b/gcc/cpphash.h
index 368fe46..82746b5 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 8f9f54c..cea54f4 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 4e24ef7..58e4af6 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 b946a8e..8f1982f 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;
}
}