diff options
author | Geoffrey Keating <geoffk@gcc.gnu.org> | 2003-01-10 02:22:34 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2003-01-10 02:22:34 +0000 |
commit | 17211ab55314d76370a68036f2d057b1effd687f (patch) | |
tree | a3ff2e89f1924fd7ea1d99358736bc8491352747 /gcc/cpplib.h | |
parent | 5f7c78d8a4df096dacfa2d9de367a6174dd631ba (diff) | |
download | gcc-17211ab55314d76370a68036f2d057b1effd687f.zip gcc-17211ab55314d76370a68036f2d057b1effd687f.tar.gz gcc-17211ab55314d76370a68036f2d057b1effd687f.tar.bz2 |
Merge from pch-branch.
From-SVN: r61136
Diffstat (limited to 'gcc/cpplib.h')
-rw-r--r-- | gcc/cpplib.h | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 271a755..bccfecf 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -400,6 +400,12 @@ struct cpp_options /* Nonzero means __STDC__ should have the value 0 in system headers. */ unsigned char stdc_0_in_system_headers; + + /* True to warn about precompiled header files we couldn't use. */ + bool warn_invalid_pch; + + /* True if dependencies should be restored from a precompiled header. */ + bool restore_pch_deps; }; /* Call backs. */ @@ -417,6 +423,8 @@ struct cpp_callbacks /* Called when the client has a chance to properly register built-ins with cpp_define() and cpp_assert(). */ void (*register_builtins) PARAMS ((cpp_reader *)); + int (*valid_pch) PARAMS ((cpp_reader *, const char *, int)); + void (*read_pch) PARAMS ((cpp_reader *, const char *, int, const char *)); }; /* Name under which this program was invoked. */ @@ -472,7 +480,7 @@ enum builtin_type /* The common part of an identifier node shared amongst all 3 C front ends. Also used to store CPP identifiers, which are a superset of identifiers in the grammatical sense. */ -struct cpp_hashnode +struct cpp_hashnode GTY(()) { struct ht_identifier ident; unsigned int is_directive : 1; @@ -485,11 +493,15 @@ struct cpp_hashnode union _cpp_hashnode_value { - cpp_macro *macro; /* If a macro. */ - struct answer *answers; /* Answers to an assertion. */ - enum builtin_type builtin; /* Code for a builtin macro. */ - unsigned short arg_index; /* Macro argument index. */ - } value; + /* If a macro. */ + cpp_macro * GTY((skip (""))) macro; + /* Answers to an assertion. */ + struct answer * GTY ((skip (""))) answers; + /* Code for a builtin macro. */ + enum builtin_type GTY ((tag ("1"))) builtin; + /* Macro argument index. */ + unsigned short GTY ((tag ("0"))) arg_index; + } GTY ((desc ("0"))) value; }; /* Call this first to get a handle to pass to other functions. */ @@ -722,6 +734,17 @@ extern unsigned char *cpp_quote_string PARAMS ((unsigned char *, extern int cpp_included PARAMS ((cpp_reader *, const char *)); extern void cpp_make_system_header PARAMS ((cpp_reader *, int, int)); +/* In cpppch.c */ +struct save_macro_data; +extern int cpp_save_state PARAMS ((cpp_reader *, FILE *)); +extern int cpp_write_pch_deps PARAMS ((cpp_reader *, FILE *)); +extern int cpp_write_pch_state PARAMS ((cpp_reader *, FILE *)); +extern int cpp_valid_state PARAMS ((cpp_reader *, const char *, int)); +extern void cpp_prepare_state PARAMS ((cpp_reader *, + struct save_macro_data **)); +extern int cpp_read_state PARAMS ((cpp_reader *, const char *, FILE *, + struct save_macro_data *)); + /* In cppmain.c */ extern void cpp_preprocess_file PARAMS ((cpp_reader *, const char *, FILE *)); |