diff options
author | Jason Merrill <jason@gcc.gnu.org> | 1999-07-20 15:13:01 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1999-07-20 15:13:01 -0400 |
commit | 3773a46b934e6d5a8a0803409a813dbfba5b46bc (patch) | |
tree | f7bd40b9e6c61ade2fdde4c0b13b88e694cb8882 /gcc/cpplib.h | |
parent | c8649fde97502156b0896b622c8c52f464d16db3 (diff) | |
download | gcc-3773a46b934e6d5a8a0803409a813dbfba5b46bc.zip gcc-3773a46b934e6d5a8a0803409a813dbfba5b46bc.tar.gz gcc-3773a46b934e6d5a8a0803409a813dbfba5b46bc.tar.bz2 |
gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
* gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
* toplev.c (documented_lang_options): Add -fpreprocessed.
* cpplib.h (struct cpp_buffer): Add preprocessed.
* cppinit.c (cpp_handle_option): Handle -fpreprocessed.
(cpp_start_read): Don't expand macros or emit an initial #line
directive if -fpreprocessed.
* cpplib.h (struct cpp_buffer): Added manual_pop for
better C++ tokenization.
* cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
Also, support C++ tokenization for ->*, .*, <?, and >? operators.
* c-common.c (cpp_token): Make non-static.
From-SVN: r28190
Diffstat (limited to 'gcc/cpplib.h')
-rw-r--r-- | gcc/cpplib.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cpplib.h b/gcc/cpplib.h index aadec44..d92228e 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -136,6 +136,10 @@ struct cpp_buffer escapes are used only in macro buffers, and backslash-newline is removed from macro expansion text in collect_expansion and/or macarg. */ char has_escapes; + + /* Used by the C++ frontend to implement redirected input (such as for + default argument and/or template parsing). */ + char manual_pop; }; struct file_name_map_list; @@ -454,6 +458,10 @@ struct cpp_options { /* Nonzero means give all the error messages the ANSI standard requires. */ char pedantic; + /* Nonzero means we're looking at already preprocessed code, so don't + bother trying to do macro expansion and whatnot. */ + char preprocessed; + char done_initializing; /* Search paths for include files. */ |