This patch makes pph.h the single interface header for PPH. The pph-streamer.h header is now ...
13 years, 6 months ago
(2011-10-08 03:29:34 UTC)
#1
This patch makes pph.h the single interface header for PPH.
The pph-streamer.h header is now an internal header for use
within the pph*.c files. Some declarations have moved from
one header to the other to make that possible.
Index: gcc/cp/ChangeLog.pph
2011-10-07 Lawrence Crowl <crowl@google.com>
* pph-streamer.h (typedef pph_stream): Move to pph.h.
(enum pph_symtab_action): Likewise.
(enum pph_record_marker): Likewise.
(enum pph_tag): Likewise.
(extern pph_out_uint): Liekwise.
(extern pph_out_location): Likewise.
(extern pph_out_tree): Likewise.
(extern pph_out_record_marker): Likewise.
(extern pph_add_decl_to_symtab): Likewise.
(extern pph_in_uint): Likewise.
(extern pph_in_location): Likewise.
(extern pph_in_tree): Likewise.
(extern pph_record_marker): Likewise.
(extern struct binding_table_s): Likewise.
(extern pph_out_binding_table): Likewise.
(extern pph_in_binding_table): Likewise.
(extern pph_out_pending_templates_list): Likewise.
(extern pph_out_spec_entry_tables): Likewise.
(extern pph_in_pending_templates_list): Likewise.
(extern pph_in_spec_entry_tables): Likewise.
(pph_writer_enabled_p): Likewise.
(pph_enabled_p): Likewise.
* pph.h (cp_token_hunk): Remove unused.
(cp_token_hunk_ptr): Likewise.
(DEF_VEC_P (cp_token_hunk_ptr)): Likewise.
(DEF_VEC_ALLOC_P (cp_token_hunk_ptr,gc)): Likewise.
(#error diagnostic): Likewise.
(extern pph_tree_code_text): Move to pph-streamer.h.
(extern pph_dump_min_decl): Likewise.
(extern pph_dump_namespace): Likewise.
* pph.h: Remove includes for hashtab.h, line-map.h, parser.h, and
timevar.h.
* pph-streamer.h: Add include pph.h.
* pph-streamer-in.c: Add include parser.h.
* pph-streamer-out.c: Likewise.
* decl.c: Include pph.h instead of pph-streamer.h.
* semantics.c: Likewise.
* parser.c: Remove include of pph-streamer.h.
* name-lookup.c: Likewise.
* Make-lang.in: Adjust dependences to reflect the above.
Index: gcc/cp/decl.c
===================================================================
--- gcc/cp/decl.c (revision 179580)
+++ gcc/cp/decl.c (working copy)
@@ -33,6 +33,7 @@ along with GCC; see the file COPYING3.
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+#include "pph.h"
#include "flags.h"
#include "cp-tree.h"
#include "tree-iterator.h"
@@ -54,7 +55,6 @@ along with GCC; see the file COPYING3.
#include "pointer-set.h"
#include "splay-tree.h"
#include "plugin.h"
-#include "pph-streamer.h"
/* Possible cases of bad specifiers type used by bad_specifiers. */
enum bad_spec_place {
Index: gcc/cp/Make-lang.in
===================================================================
--- gcc/cp/Make-lang.in (revision 179580)
+++ gcc/cp/Make-lang.in (working copy)
@@ -265,10 +265,9 @@ CXX_TREE_H = $(TREE_H) cp/name-lookup.h
$(srcdir)/../include/hashtab.h
CXX_PARSER_H = tree.h c-family/c-pragma.h cp/parser.h
CXX_PRETTY_PRINT_H = cp/cxx-pretty-print.h $(C_PRETTY_PRINT_H)
-CXX_PPH_H = $(srcdir)/../libcpp/include/line-map.h $(HASHTAB_H) \
- $(CXX_PARSER_H) $(TIMEVAR_H) $(CXX_TREE_H) cp/pph.h
-CXX_PPH_STREAMER_H = $(LTO_STREAMER_H) cp/pph-streamer.h $(TREE_H) \
- $(DATA_STREAMER_H) $(TREE_STREAMER_H)
+CXX_PPH_H = $(CXX_TREE_H) cp/pph.h
+CXX_PPH_STREAMER_H = $(LTO_STREAMER_H) $(DATA_STREAMER_H) $(TREE_STREAMER_H) \
+ $(TREE_H) $(CXX_PPH_H) cp/pph-streamer.h
cp/lex.o: cp/lex.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) \
$(C_PRAGMA_H) output.h input.h cp/operators.def $(TM_P_H) \
@@ -281,7 +280,7 @@ cp/decl.o: cp/decl.c $(CXX_TREE_H) $(TM_
cp/operators.def $(TM_P_H) $(TREE_INLINE_H) $(DIAGNOSTIC_H) $(C_PRAGMA_H) \
debug.h gt-cp-decl.h $(TIMEVAR_H) $(TARGET_H) $(PLUGIN_H) \
intl.h tree-iterator.h pointer-set.h $(SPLAY_TREE_H) \
- c-family/c-objc.h $(CXX_PPH_STREAMER_H)
+ c-family/c-objc.h $(CXX_PPH_H)
cp/decl2.o: cp/decl2.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) cp/decl.h \
output.h toplev.h $(C_COMMON_H) gt-cp-decl2.h $(CGRAPH_H) \
$(C_PRAGMA_H) $(TREE_DUMP_H) intl.h $(TARGET_H) $(GIMPLE_H) pointer-set.h \
@@ -301,7 +300,7 @@ cp/class.o: cp/class.c $(CXX_TREE_H) $(T
$(SPLAY_TREE_H) pointer-set.h
cp/call.o: cp/call.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) toplev.h \
$(DIAGNOSTIC_CORE_H) intl.h gt-cp-call.h convert.h $(TARGET_H) langhooks.h \
- $(TIMEVAR_H) $(CXX_PPH_H) c-family/c-objc.h
+ $(TIMEVAR_H) c-family/c-objc.h
cp/friend.o: cp/friend.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H)
cp/init.o: cp/init.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) \
$(EXCEPT_H) $(TARGET_H)
@@ -332,7 +331,7 @@ cp/repo.o: cp/repo.c $(CXX_TREE_H) $(TM_
cp/semantics.o: cp/semantics.c $(CXX_TREE_H) $(TM_H) toplev.h \
$(FLAGS_H) output.h $(RTL_H) $(TIMEVAR_H) \
$(TREE_INLINE_H) $(CGRAPH_H) $(TARGET_H) $(C_COMMON_H) $(GIMPLE_H) \
- bitmap.h gt-cp-semantics.h c-family/c-objc.h $(CXX_PPH_STREAMER_H)
+ bitmap.h gt-cp-semantics.h c-family/c-objc.h $(CXX_PPH_H)
cp/dump.o: cp/dump.c $(CXX_TREE_H) $(TM_H) $(TREE_DUMP_H)
cp/optimize.o: cp/optimize.c $(CXX_TREE_H) $(TM_H) \
input.h $(PARAMS_H) debug.h $(TREE_INLINE_H) $(GIMPLE_H) \
@@ -342,13 +341,13 @@ cp/mangle.o: cp/mangle.c $(CXX_TREE_H) $
cp/parser.o: cp/parser.c $(CXX_TREE_H) $(TM_H) $(DIAGNOSTIC_CORE_H) \
gt-cp-parser.h output.h $(TARGET_H) $(PLUGIN_H) intl.h \
c-family/c-objc.h tree-pretty-print.h $(CXX_PARSER_H) $(TIMEVAR.H) \
- $(CXX_PPH_H) $(CXX_PPH_STREAMER_H)
+ $(CXX_PPH_H)
cp/cp-gimplify.o: cp/cp-gimplify.c $(CXX_TREE_H) $(C_COMMON_H) \
$(TM_H) coretypes.h pointer-set.h tree-iterator.h $(SPLAY_TREE_H)
cp/name-lookup.o: cp/name-lookup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(CXX_TREE_H) $(TIMEVAR_H) gt-cp-name-lookup.h \
$(DIAGNOSTIC_CORE_H) $(FLAGS_H) debug.h tree-pretty-print.h \
- $(CXX_PPH_H) $(CXX_PPH_STREAMER_H) pointer-set.h
+ $(CXX_PPH_H) pointer-set.h
cp/cxx-pretty-print.o: cp/cxx-pretty-print.c $(CXX_PRETTY_PRINT_H) \
$(CONFIG_H) $(SYSTEM_H) $(TM_H) coretypes.h $(CXX_TREE_H) tree-pretty-print.h
cp/pph.o: cp/pph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(CPPLIB_H) \
@@ -362,8 +361,8 @@ cp/pph-streamer.o: cp/pph-streamer.c $(C
cp/pph-streamer-out.o: cp/pph-streamer-out.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TREE_H) tree-pretty-print.h $(LTO_STREAMER_H) \
$(CXX_PPH_STREAMER_H) $(CXX_PPH_H) $(TREE_PASS_H) version.h \
- cppbuiltin.h tree-iterator.h $(CGRAPH_H)
+ $(CXX_PARSER_H) cppbuiltin.h tree-iterator.h $(CGRAPH_H)
cp/pph-streamer-in.o: cp/pph-streamer-in.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TREE_H) tree-pretty-print.h $(LTO_STREAMER_H) \
$(CXX_PPH_STREAMER_H) $(CXX_PPH_H) $(TREE_PASS_H) version.h \
- cppbuiltin.h tree-iterator.h toplev.h
+ $(CXX_PARSER_H) cppbuiltin.h tree-iterator.h toplev.h
Index: gcc/cp/pph.h
===================================================================
--- gcc/cp/pph.h (revision 179580)
+++ gcc/cp/pph.h (working copy)
@@ -22,39 +22,105 @@ along with GCC; see the file COPYING3.
#ifndef GCC_CP_PPH_H
#define GCC_CP_PPH_H
-/* In order for the format checking to accept the C++ front end
- diagnostic framework extensions, you must include this file before
- diagnostic-core.h, not after. We override the definition of GCC_DIAG_STYLE
- in c-common.h. */
-#undef GCC_DIAG_STYLE
-#define GCC_DIAG_STYLE __gcc_cxxdiag__
-#if defined(GCC_DIAGNOSTIC_CORE_H) || defined (GCC_C_COMMON_H)
-#error \
-In order for the format checking to accept the C++ front end diagnostic \
-framework extensions, you must include this file before diagnostic-core.h and \
-c-common.h, not after.
-#endif
-
-#include "line-map.h"
-#include "hashtab.h"
#include "cp/cp-tree.h"
-#include "parser.h"
-#include "timevar.h"
-/* A set of contiguous tokens within a single file. */
-typedef struct GTY(()) cp_token_hunk
-{
- /* Captured identifier and macro state. */
- cpp_idents_used identifiers;
- /* The array of tokens. */
- VEC(cp_token,gc) *buffer;
-} cp_token_hunk;
+/* Types. */
-typedef struct cp_token_hunk *cp_token_hunk_ptr;
+/* PPH streams. */
+typedef struct pph_stream pph_stream;
+
+/* Actions associated with each symbol table entry. These indicate
+ what the reader should do when registering each entry with the
+ middle-end. */
+enum pph_symtab_action {
+ /* Declare this symbol with rest_of_decl_compilation. */
+ PPH_SYMTAB_DECLARE = 0x23,
+
+ /* Expand this function with expand_or_defer_fn. */
+ PPH_SYMTAB_EXPAND
+};
+
+/* Record markers. */
+enum pph_record_marker {
+ /* This record contains the physical representation of the memory data. */
+ PPH_RECORD_START = 0x23,
+
+ /* Like PPH_RECORD_START, but the reconstructed data should not be
+ added to the pickle cache (see pph_cache_should_handle). */
+ PPH_RECORD_START_NO_CACHE,
+
+ /* Start a mutated reference. This marker indicates that this data
+ already existed in the cache for another PPH image, but it has
+ mutated since it was inserted into the cache:
+
+ - The writer will pickle the object again as if it had not
+ been pickled before.
+
+ - The reader uses this as an indication that it should not
+ allocate a new object, it should simply unpickle the object on
+ top of the already allocated object. */
+ PPH_RECORD_START_MUTATED,
+
+ /* End of record marker. If a record starts with PPH_RECORD_END, the
+ reader should return a NULL pointer. */
+ PPH_RECORD_END,
+
+ /* Internal reference. This marker indicates that this data has
+ been written before and it resides in the pickle cache for the
+ current image. Following this marker, the reader will find the
+ cache slot where the data has been stored. */
+ PPH_RECORD_IREF,
+
+ /* External reference. This marker indicates that this data has
+ been written before and it resides in the pickle cache for
+ another image. Following this marker, the reader will find two
+ indices: (1) the index into the include table where the other
+ image lives, and (2) the cache slot into that image's pickle
+ cache where the data resides. */
+ PPH_RECORD_XREF,
+
+ /* Preloaded reference. This marker indicates that this data is a preloaded
+ node created by the front-end at the beginning of compilation, which we
+ do not need to stream out as it will already exist on the way in. */
+ PPH_RECORD_PREF
+};
+
+/* Record type tags. Every record saved on a PPH image contains a data
+ tag to identify the data structure saved in that record. */
+enum pph_tag {
+ PPH_null = 0,
+
+ /* The tags below are named after the data types they represent.
+
+ Note that to simplify tag management, we reserve enough
+ values to fit all the tree codes. This guarantees that for
+ every tree code C and PPH tag T, (unsigned) C == (unsigned) T.
+
+ The value PPH_any_tree is used when reading tree records. Since
+ the reader does not have enough context, it will generally not
+ know what kind of tree is about to read, all it knows is that it
+ should be a valid tree code. */
+ PPH_any_tree = MAX_TREE_CODES,
+
+ /* Maintain the tags below in alphabetical order. */
+ PPH_binding_entry,
+ PPH_binding_table,
+ PPH_cgraph_node,
+ PPH_cp_binding_level,
+ PPH_cp_class_binding,
+ PPH_cp_label_binding,
+ PPH_cxx_binding,
+ PPH_function,
+ PPH_lang_decl,
+ PPH_lang_type,
+ PPH_language_function,
+ PPH_sorted_fields_type,
+
+ /* This tag must always be last. */
+ PPH_NUM_TAGS
+};
-DEF_VEC_P (cp_token_hunk_ptr);
-DEF_VEC_ALLOC_P (cp_token_hunk_ptr,gc);
/* Global state. FIXME pph, get rid of these. */
@@ -62,12 +128,56 @@ DEF_VEC_ALLOC_P (cp_token_hunk_ptr,gc);
-fpph-logfile. If this flag is not given, stdout is used. */
extern FILE *pph_logfile;
+
+/* Extern functions. */
+
/* In pph.c */
extern void pph_init (void);
extern void pph_finish (void);
-extern const char *pph_tree_code_text (enum tree_code code);
-extern void pph_dump_min_decl (FILE *file, tree decl);
extern void pph_dump_tree_name (FILE *file, tree t, int flags);
-extern void pph_dump_namespace (FILE *, tree ns);
+
+/* In pph-streamer-out.c. */
+extern void pph_out_uint (pph_stream *stream, unsigned int value);
+extern void pph_out_location (pph_stream *stream, location_t loc);
+extern void pph_out_tree (pph_stream *stream, tree t);
+extern void pph_out_record_marker (pph_stream *stream,
+ enum pph_record_marker marker, enum pph_tag tag);
+void pph_add_decl_to_symtab (tree, enum pph_symtab_action, bool, bool);
+
+/* In pph-streamer-in.c. */
+extern unsigned int pph_in_uint (pph_stream *stream);
+extern location_t pph_in_location (pph_stream *stream);
+extern tree pph_in_tree (pph_stream *stream);
+extern enum pph_record_marker pph_in_record_marker (pph_stream *stream,
+ enum pph_tag *tag_p);
+
+/* In name-lookup.c. */
+struct binding_table_s;
+void pph_out_binding_table (pph_stream *, struct binding_table_s *);
+struct binding_table_s *pph_in_binding_table (pph_stream *);
+
+/* In pt.c. */
+extern void pph_out_pending_templates_list (pph_stream *stream);
+extern void pph_out_spec_entry_tables (pph_stream *stream);
+extern void pph_in_pending_templates_list (pph_stream *stream);
+extern void pph_in_spec_entry_tables (pph_stream *stream);
+
+
+/* Inline functions. */
+
+/* Return true if we are generating a PPH image. */
+static inline bool
+pph_writer_enabled_p (void)
+{
+ return pph_out_file != NULL;
+}
+
+/* Return true if PPH has been enabled. */
+static inline bool
+pph_enabled_p (void)
+{
+ return pph_writer_enabled_p () || pph_reader_enabled_p ();
+}
+
#endif /* GCC_CP_PPH_H */
Index: gcc/cp/pph-streamer-in.c
===================================================================
--- gcc/cp/pph-streamer-in.c (revision 179698)
+++ gcc/cp/pph-streamer-in.c (working copy)
@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3.
#include "version.h"
#include "cppbuiltin.h"
#include "toplev.h"
+#include "parser.h"
typedef char *char_p;
DEF_VEC_P(char_p);
Index: gcc/cp/semantics.c
===================================================================
--- gcc/cp/semantics.c (revision 179580)
+++ gcc/cp/semantics.c (working copy)
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.
#include "coretypes.h"
#include "tm.h"
#include "tree.h"
+#include "pph.h"
#include "cp-tree.h"
#include "c-family/c-common.h"
#include "c-family/c-objc.h"
@@ -45,7 +46,6 @@ along with GCC; see the file COPYING3.
#include "target.h"
#include "gimple.h"
#include "bitmap.h"
-#include "pph-streamer.h"
/* There routines provide a modular interface to perform many parsing
operations. They may therefore be used during actual parsing, or
Index: gcc/cp/parser.c
===================================================================
--- gcc/cp/parser.c (revision 179580)
+++ gcc/cp/parser.c (working copy)
@@ -26,7 +26,6 @@ along with GCC; see the file COPYING3.
#include "timevar.h"
#include "cpplib.h"
#include "pph.h"
-#include "pph-streamer.h"
#include "tree.h"
#include "cp-tree.h"
#include "intl.h"
Index: gcc/cp/pph-streamer-out.c
===================================================================
--- gcc/cp/pph-streamer-out.c (revision 179698)
+++ gcc/cp/pph-streamer-out.c (working copy)
@@ -32,6 +32,7 @@ along with GCC; see the file COPYING3.
#include "version.h"
#include "cppbuiltin.h"
#include "cgraph.h"
+#include "parser.h"
/* PPH stream that we are currently generating. FIXME pph, this
global is needed because we call back from various parts of the
Index: gcc/cp/pph-streamer.h
===================================================================
--- gcc/cp/pph-streamer.h (revision 179699)
+++ gcc/cp/pph-streamer.h (working copy)
@@ -25,87 +25,7 @@ along with GCC; see the file COPYING3.
#include "data-streamer.h"
#include "tree-streamer.h"
#include "tree.h"
-
-/* Record markers. */
-enum pph_record_marker {
- /* This record contains the physical representation of the memory data. */
- PPH_RECORD_START = 0x23,
-
- /* Like PPH_RECORD_START, but the reconstructed data should not be
- added to the pickle cache (see pph_cache_should_handle). */
- PPH_RECORD_START_NO_CACHE,
-
- /* Start a mutated reference. This marker indicates that this data
- already existed in the cache for another PPH image, but it has
- mutated since it was inserted into the cache:
-
- - The writer will pickle the object again as if it had not
- been pickled before.
-
- - The reader uses this as an indication that it should not
- allocate a new object, it should simply unpickle the object on
- top of the already allocated object. */
- PPH_RECORD_START_MUTATED,
-
- /* End of record marker. If a record starts with PPH_RECORD_END, the
- reader should return a NULL pointer. */
- PPH_RECORD_END,
-
- /* Internal reference. This marker indicates that this data has
- been written before and it resides in the pickle cache for the
- current image. Following this marker, the reader will find the
- cache slot where the data has been stored. */
- PPH_RECORD_IREF,
-
- /* External reference. This marker indicates that this data has
- been written before and it resides in the pickle cache for
- another image. Following this marker, the reader will find two
- indices: (1) the index into the include table where the other
- image lives, and (2) the cache slot into that image's pickle
- cache where the data resides. */
- PPH_RECORD_XREF,
-
- /* Preloaded reference. This marker indicates that this data is a preloaded
- node created by the front-end at the beginning of compilation, which we
- do not need to stream out as it will already exist on the way in. */
- PPH_RECORD_PREF
-};
-
-/* Record type tags. Every record saved on a PPH image contains a data
- tag to identify the data structure saved in that record. */
-enum pph_tag {
- PPH_null = 0,
-
- /* The tags below are named after the data types they represent.
-
- Note that to simplify tag management, we reserve enough
- values to fit all the tree codes. This guarantees that for
- every tree code C and PPH tag T, (unsigned) C == (unsigned) T.
-
- The value PPH_any_tree is used when reading tree records. Since
- the reader does not have enough context, it will generally not
- know what kind of tree is about to read, all it knows is that it
- should be a valid tree code. */
- PPH_any_tree = MAX_TREE_CODES,
-
- /* Maintain the tags below in alphabetical order. */
- PPH_binding_entry,
- PPH_binding_table,
- PPH_cgraph_node,
- PPH_cp_binding_level,
- PPH_cp_class_binding,
- PPH_cp_label_binding,
- PPH_cxx_binding,
- PPH_function,
- PPH_lang_decl,
- PPH_lang_type,
- PPH_language_function,
- PPH_sorted_fields_type,
-
- /* This tag must always be last. */
- PPH_NUM_TAGS
-};
-
+#include "pph.h"
/* Line table markers. We only stream line table entries from the parent header
file, other entries are referred to by the name of the file which is then
@@ -202,18 +122,6 @@ typedef struct pph_cache {
} pph_cache;
-/* Actions associated with each symbol table entry. These indicate
- what the reader should do when registering each entry with the
- middle-end. */
-enum pph_symtab_action {
- /* Declare this symbol with rest_of_decl_compilation. */
- PPH_SYMTAB_DECLARE = 0x23,
-
- /* Expand this function with expand_or_defer_fn. */
- PPH_SYMTAB_EXPAND
-};
-
-
/* Symbol table entry. */
typedef struct pph_symtab_entry
{
@@ -239,7 +147,6 @@ typedef struct pph_symtab
} pph_symtab;
/* Vector of pph_stream pointers. */
-struct pph_stream;
typedef struct pph_stream *pph_stream_ptr;
DEF_VEC_P(pph_stream_ptr);
DEF_VEC_ALLOC_P(pph_stream_ptr,heap);
@@ -255,7 +162,7 @@ extern VEC(pph_stream_ptr, heap) *pph_re
/* A PPH stream contains all the data and attributes needed to
write symbols, declarations and other parsing products to disk. */
-typedef struct pph_stream {
+struct pph_stream {
/* Path name of the PPH file. */
const char *name;
@@ -304,7 +211,7 @@ typedef struct pph_stream {
will be able to instantiate these symbols in the same order that
they were instantiated originally. */
pph_symtab symtab;
-} pph_stream;
+};
/* Filter values to avoid emitting certain objects to a PPH file. */
#define PPHF_NONE 0
@@ -312,6 +219,11 @@ typedef struct pph_stream {
#define PPHF_NO_XREFS (1 << 1)
#define PPHF_NO_PREFS (1 << 2)
+/* In pph.c */
+extern const char *pph_tree_code_text (enum tree_code code);
+extern void pph_dump_min_decl (FILE *file, tree decl);
+extern void pph_dump_namespace (FILE *, tree ns);
+
/* In pph-streamer.c. */
void pph_init_preloaded_cache (void);
pph_stream *pph_stream_open (const char *, const char *);
@@ -337,17 +249,11 @@ void pph_flush_buffers (pph_stream *);
void pph_init_write (pph_stream *);
void pph_write_tree (struct output_block *, tree, bool);
void pph_write_mergeable_chain (pph_stream *, tree);
-void pph_add_decl_to_symtab (tree, enum pph_symtab_action, bool, bool);
void pph_add_include (pph_stream *);
void pph_writer_init (void);
void pph_writer_finish (void);
void pph_write_location (struct output_block *, location_t);
-/* In name-lookup.c. */
-struct binding_table_s;
-void pph_out_binding_table (pph_stream *, struct binding_table_s *);
-struct binding_table_s *pph_in_binding_table (pph_stream *);
-
/* In pph-streamer-in.c. */
void pph_init_read (pph_stream *);
tree pph_read_tree (struct lto_input_block *, struct data_in *);
@@ -355,28 +261,9 @@ location_t pph_read_location (struct lto
void pph_read_file (const char *);
void pph_reader_finish (void);
-/* In pt.c. */
-extern void pph_out_pending_templates_list (pph_stream *stream);
-extern void pph_in_pending_templates_list (pph_stream *stream);
-extern void pph_out_spec_entry_tables (pph_stream *stream);
-extern void pph_in_spec_entry_tables (pph_stream *stream);
-
/* Inline functions. */
-/* Return true if we are generating a PPH image. */
-static inline bool
-pph_writer_enabled_p (void)
-{
- return pph_out_file != NULL;
-}
-
-/* Return true if PPH has been enabled. */
-static inline bool
-pph_enabled_p (void)
-{
- return pph_writer_enabled_p () || pph_reader_enabled_p ();
-}
/* Return the pickle cache in STREAM corresponding to MARKER.
if MARKER is PPH_RECORD_IREF, it returns the cache in STREAM itself.
@@ -437,23 +324,6 @@ pph_cache_find (pph_stream *stream, enum
}
-extern void pph_out_tree (pph_stream *stream, tree t);
-
-extern void pph_out_uint (pph_stream *stream, unsigned int value);
-
-extern void pph_out_location (pph_stream *stream, location_t loc);
-
-extern unsigned int pph_in_uint (pph_stream *stream);
-extern location_t pph_in_location (pph_stream *stream);
-extern tree pph_in_tree (pph_stream *stream);
-
-
-extern void pph_out_record_marker (pph_stream *stream,
- enum pph_record_marker marker, enum pph_tag tag);
-extern enum pph_record_marker pph_in_record_marker (pph_stream *stream,
- enum pph_tag *tag_p);
-
-
/* Return true if MARKER is PPH_RECORD_IREF, PPH_RECORD_XREF,
or PPH_RECORD_PREF. */
Index: gcc/cp/name-lookup.c
===================================================================
--- gcc/cp/name-lookup.c (revision 179580)
+++ gcc/cp/name-lookup.c (working copy)
@@ -35,7 +35,6 @@ along with GCC; see the file COPYING3.
#include "c-family/c-pragma.h"
#include "tree-pretty-print.h"
#include "params.h"
-#include "pph-streamer.h"
#include "pointer-set.h"
/* The bindings for a particular name in a particular scope. */
--
This patch is available for review at http://codereview.appspot.com/5247044
Issue 5247044: [pph] Make pph.h _the_ interface header.
(Closed)
Created 13 years, 6 months ago by Lawrence Crowl
Modified 12 years, 10 months ago
Reviewers: Diego Novillo
Base URL: svn+ssh://gcc.gnu.org/svn/gcc/branches/pph/
Comments: 1