From 396ffa866b4e8c2ac1d3b2ec6f1f687cfdd4568b Mon Sep 17 00:00:00 2001 From: neil Date: Mon, 30 Oct 2000 22:29:00 +0000 Subject: * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37147 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cpphash.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/cpphash.h') diff --git a/gcc/cpphash.h b/gcc/cpphash.h index bba1ba91df3..a1c859de66a 100644 --- a/gcc/cpphash.h +++ b/gcc/cpphash.h @@ -203,6 +203,7 @@ extern void _cpp_unlock_pool PARAMS ((cpp_pool *)); extern int _cpp_test_assertion PARAMS ((cpp_reader *, int *)); extern int _cpp_handle_directive PARAMS ((cpp_reader *, int)); extern void _cpp_define_builtin PARAMS ((cpp_reader *, const char *)); +extern void _cpp_do__Pragma PARAMS ((cpp_reader *)); extern void _cpp_init_stacks PARAMS ((cpp_reader *)); extern void _cpp_cleanup_stacks PARAMS ((cpp_reader *)); extern void _cpp_init_internal_pragmas PARAMS ((cpp_reader *)); -- cgit v1.2.1