* lto-streamer-out.c (hash_string_slot_node): Hash string based on its
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 May 2011 16:35:33 +0000 (16:35 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 May 2011 16:35:33 +0000 (16:35 +0000)
commit894593c869c8458619c12927b66b4e0e57f9257e
tree55488db88a4ef43a345e0a0421381d1495453b7c
parent467fa2ada0cbc1b7b81db7567540e8e46dbca920
* 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
gcc/ChangeLog
gcc/lto-streamer-out.c
gcc/lto-streamer.h