diff options
author | Neil Booth <neilb@earthling.net> | 2000-10-30 22:29:00 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2000-10-30 22:29:00 +0000 |
commit | a5c3cccda43ddeaa0e90df75f74c230dea0ad579 (patch) | |
tree | aea40a1085df8546a232c08b4db9f87353674441 /gcc/cppfiles.c | |
parent | dbdaea4110d5c97ba1addef900516eea7846a2c0 (diff) | |
download | gcc-a5c3cccda43ddeaa0e90df75f74c230dea0ad579.zip gcc-a5c3cccda43ddeaa0e90df75f74c230dea0ad579.tar.gz gcc-a5c3cccda43ddeaa0e90df75f74c230dea0ad579.tar.bz2 |
cppfiles.c (stack_include_file): Check for stacked contexts here.
* cppfiles.c (stack_include_file): Check for stacked contexts
here.
* cpphash.h (_cpp_do__Pragma): New prototype.
* cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
* cpplex.c (skip_escaped_newlines): Only process trigraphs and
escaped newlines if !(buffer->from_stage3).
(_cpp_lex_token): Warn about missing newlines iff
!buffer->from_stage3.
* cpplib.c (get__Pragma_string, destringize,
_cpp_do__Pragma): New functions.
(run_directive): Set output_line for _Pragma to avoid line
markers in output. Set from_stage3 and prevent macro expansion
for _Pragma and command-line options. Check buffer exhaustion.
(cpp_push_buffer): Don't check for stacked macro contexts, as
this is perfectly legitimate for _Pragma. Move the check to
stack_include_file instead. Set from_stage3 iff buffer is
preprocessed input.
* cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
unsigned. New boolean from_stage3.
(struct spec_nodes): Add n__Pragma.
* cppmacro.c (enter_macro_context): Flip sense of return value.
(_cpp_get_token): Handle _Pragma operator.
From-SVN: r37147
Diffstat (limited to 'gcc/cppfiles.c')
-rw-r--r-- | gcc/cppfiles.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c index f54fe8a..1009fa7 100644 --- a/gcc/cppfiles.c +++ b/gcc/cppfiles.c @@ -206,6 +206,9 @@ stack_include_file (pfile, inc) { cpp_buffer *fp; + if (pfile->context->prev) + cpp_ice (pfile, "attempt to push file buffer with contexts stacked"); + if (DO_NOT_REREAD (inc)) return 0; |