aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.h
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1999-07-20 15:13:01 -0400
committerJason Merrill <jason@gcc.gnu.org>1999-07-20 15:13:01 -0400
commit3773a46b934e6d5a8a0803409a813dbfba5b46bc (patch)
treef7bd40b9e6c61ade2fdde4c0b13b88e694cb8882 /gcc/cpplib.h
parentc8649fde97502156b0896b622c8c52f464d16db3 (diff)
downloadgcc-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.h8
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. */