summaryrefslogtreecommitdiff
path: root/gcc/lto-streamer.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-29 16:35:33 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-05-29 16:35:33 +0000
commit894593c869c8458619c12927b66b4e0e57f9257e (patch)
tree55488db88a4ef43a345e0a0421381d1495453b7c /gcc/lto-streamer.h
parent467fa2ada0cbc1b7b81db7567540e8e46dbca920 (diff)
downloadgcc-894593c869c8458619c12927b66b4e0e57f9257e.tar.gz
* lto-streamer-out.c (hash_string_slot_node): Hash string based on its
length. (string_slot_free): Remove (create_output_block): Initialize obstack. (destroy_output_block): Free obstack. (lto_string_index): Add PERSISTENT parameter; do not duplicate the string unless it needs to be added into the hash. (lto_output_string_with_length): Add persistent attribute; handle NULL strings. (lto_output_string): Add PERSISTENT parameter. (output_string_cst, output_identifier): Simplify. (lto_output_location_bitpack): Update. (lto_output_builtin_tree): Update. * lto-streamer.h (struct output_block): Add obstack. (lto_output_string, lto_output_string_with_length): Remove declarations; functions are static now. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174397 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer.h')
-rw-r--r--gcc/lto-streamer.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h
index 150442d8d8d..e8410d4c70a 100644
--- a/gcc/lto-streamer.h
+++ b/gcc/lto-streamer.h
@@ -700,6 +700,10 @@ struct output_block
/* Cache of nodes written in this section. */
struct lto_streamer_cache_d *writer_cache;
+
+ /* All data persistent across whole duration of output block
+ can go here. */
+ struct obstack obstack;
};
@@ -873,13 +877,6 @@ extern struct output_block *create_output_block (enum lto_section_type);
extern void destroy_output_block (struct output_block *);
extern void lto_output_tree (struct output_block *, tree, bool);
extern void produce_asm (struct output_block *ob, tree fn);
-extern void lto_output_string (struct output_block *,
- struct lto_output_stream *,
- const char *);
-extern void lto_output_string_with_length (struct output_block *,
- struct lto_output_stream *,
- const char *,
- unsigned int);
void lto_output_decl_state_streams (struct output_block *,
struct lto_out_decl_state *);
void lto_output_decl_state_refs (struct output_block *,