aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-06-01 08:52:33 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-06-01 08:52:33 +0000
commit6807da97b7a1d22a82a48844ccacfbdfcb983ada (patch)
tree076077eb59e88f362654a8c0a17e201cef22c8d7 /gcc/tree.c
parent3dca2ab7a79ef2e96d06b61f7f5189b46910691b (diff)
downloadgcc-6807da97b7a1d22a82a48844ccacfbdfcb983ada.zip
gcc-6807da97b7a1d22a82a48844ccacfbdfcb983ada.tar.gz
gcc-6807da97b7a1d22a82a48844ccacfbdfcb983ada.tar.bz2
tree.c (free_lang_data): Do not reset boolean_type_node nor char_type_node.
2011-06-01 Richard Guenther <rguenther@suse.de> * tree.c (free_lang_data): Do not reset boolean_type_node nor char_type_node. * lto-streamer.c (lto_record_common_node): Take node pointer, do not register types. (lto_preload_common_nodes): Explicitly skip preloading nodes that differ between frontends. lto/ * lto-lang.c (lto_register_canonical_types): New function. (lto_init): Register common nodes with the canonical type machinery. Do not play tricks with char_type_node. From-SVN: r174519
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c19
1 files changed, 0 insertions, 19 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 293e02c..764a0f4 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5176,25 +5176,6 @@ free_lang_data (void)
/* Create gimple variants for common types. */
ptrdiff_type_node = integer_type_node;
fileptr_type_node = ptr_type_node;
- if (TREE_CODE (boolean_type_node) != BOOLEAN_TYPE
- || (TYPE_MODE (boolean_type_node)
- != mode_for_size (BOOL_TYPE_SIZE, MODE_INT, 0))
- || TYPE_PRECISION (boolean_type_node) != 1
- || !TYPE_UNSIGNED (boolean_type_node))
- {
- boolean_type_node = make_unsigned_type (BOOL_TYPE_SIZE);
- TREE_SET_CODE (boolean_type_node, BOOLEAN_TYPE);
- TYPE_MAX_VALUE (boolean_type_node) = build_int_cst (boolean_type_node, 1);
- TYPE_PRECISION (boolean_type_node) = 1;
- boolean_false_node = TYPE_MIN_VALUE (boolean_type_node);
- boolean_true_node = TYPE_MAX_VALUE (boolean_type_node);
- }
-
- /* Unify char_type_node with its properly signed variant. */
- if (TYPE_UNSIGNED (char_type_node))
- unsigned_char_type_node = char_type_node;
- else
- signed_char_type_node = char_type_node;
/* Reset some langhooks. Do not reset types_compatible_p, it may
still be used indirectly via the get_alias_set langhook. */