aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpphash.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cpphash.h')
-rw-r--r--gcc/cpphash.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/gcc/cpphash.h b/gcc/cpphash.h
index 4e86bf37d5b..337263f8fcc 100644
--- a/gcc/cpphash.h
+++ b/gcc/cpphash.h
@@ -153,7 +153,8 @@ extern unsigned char *_cpp_unaligned_alloc (cpp_reader *, size_t);
#define BUFF_LIMIT(BUFF) ((BUFF)->limit)
/* #include types. */
-enum include_type {IT_INCLUDE, IT_INCLUDE_NEXT, IT_IMPORT, IT_CMDLINE};
+/* APPLE LOCAL pch distcc mrs */
+enum include_type {IT_INCLUDE, IT_INCLUDE_PCH, IT_INCLUDE_NEXT, IT_IMPORT, IT_CMDLINE};
union utoken
{
@@ -328,6 +329,21 @@ struct cpp_buffer
struct cset_converter input_cset_desc;
};
+/* APPLE LOCAL begin Symbol Separation */
+/* Indicate state of context info processing.
+ Context info processing shares code with PCH, but it does not need
+ everything PCH does. Use this context info states to exclude not
+ required stuff. */
+enum cpp_cinfo_state
+ {
+ CINFO_NONE,
+ CINFO_FOUND, /* Context information found */
+ CINFO_VALID, /* Context information is valid */
+ CINFO_READ, /* Reading context information */
+ CINFO_WRITE /* Writing context information */
+ };
+/* APPLE LOCAL end Symbol Separation */
+
/* A cpp_reader encapsulates the "state" of a pre-processor run.
Applying cpp_get_token repeatedly yields a stream of pre-processor
tokens. Usually, there is only one cpp_reader object active. */
@@ -469,6 +485,12 @@ struct cpp_reader
/* Used to save the original line number during traditional
preprocessing. */
unsigned int saved_line;
+ /* APPLE LOCAL begin Symbol Separation */
+ const char *cinfo_candidate_file;
+ const char *cinfo_src_file;
+ /* State of context information read/write operation. */
+ enum cpp_cinfo_state cinfo_state;
+ /* APPLE LOCAL end Symbol Separation */
/* A saved list of the defined macros, for dependency checking
of precompiled headers. */
@@ -504,6 +526,10 @@ extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1];
/* Macros. */
+/* APPLE LOCAL begin warning in system headers */
+#define CPP_IN_SYSTEM_HEADER(PFILE) ((PFILE)->line_table && (PFILE)->line_table->maps && (PFILE)->line_table->maps->sysp)
+/* APPLE LOCAL end warning in system headers */
+
static inline int cpp_in_system_header (cpp_reader *);
static inline int
cpp_in_system_header (cpp_reader *pfile)
@@ -533,6 +559,10 @@ extern void _cpp_init_hashtable (cpp_reader *, hash_table *);
extern void _cpp_destroy_hashtable (cpp_reader *);
/* In cppfiles.c */
+/* APPLE LOCAL begin Symbol Separation */
+extern void find_include_cinfo (cpp_reader *, const char *);
+/* APPLE LOCAL end Symbol Separation */
+
typedef struct _cpp_file _cpp_file;
extern _cpp_file *_cpp_find_file (cpp_reader *, const char *fname,
cpp_dir *start_dir, bool fake);