lto-streamer-out.c (hash_string_slot_node): Hash string based on its length.
authorJan Hubicka <jh@suse.cz>
Sun, 29 May 2011 16:35:33 +0000 (18:35 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 29 May 2011 16:35:33 +0000 (16:35 +0000)
commitfac009a816ef2045f260f38582d367fec16b5879
tree55488db88a4ef43a345e0a0421381d1495453b7c
parent8bea6ce4920cab0c065bcc6ae1eb0b26fc582ebe
lto-streamer-out.c (hash_string_slot_node): Hash string based on its length.

* 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.

From-SVN: r174397
gcc/ChangeLog
gcc/lto-streamer-out.c
gcc/lto-streamer.h