aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2011-05-11 13:48:55 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2011-05-11 13:48:55 +0000
commit515456820e0468b848ff5905d6d8439a47036fdc (patch)
tree9e6dc2ef0a353ee5307b5cc9dd22f5a40e3da76e /gcc/tree.c
parentb03c30822bba445ae68699bd7e9efa8f8e07070a (diff)
downloadgcc-515456820e0468b848ff5905d6d8439a47036fdc.zip
gcc-515456820e0468b848ff5905d6d8439a47036fdc.tar.gz
gcc-515456820e0468b848ff5905d6d8439a47036fdc.tar.bz2
split tree_type
split tree_type gcc/ada/ * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL. (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL. (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL. gcc/cp/ * cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use TYPE_VALUES_RAW. (UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise. (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise. (TEMPLATE_TYPE_PARM_INDEX): Likewise. gcc/ * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common. * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to... (unpack_ts_type_common_value_fields): ...this. Update comment. (unpack_value_fields): Adjust for renaming. (lto_input_ts_type_tree_pointers): Split into... (lto_input_ts_type_common_tree_pointer): ...this and... (lto_input_ts_type_non_common_tree_pointers): ...this. (lto_input_tree_pointers): Adjust for above split. * lto-streamer-out.c (pack_ts_type_value_fields): Rename to... (pack_ts_type_common_value_fields): ...this. Update comment. (lto_output_ts_type_tree_pointers): Split into... (lto_output_ts_type_common_tree_pointers): ...this and... (lto_output_ts_type_non_common_tree_pointers): ...this. (lto_output_tree_pointers): Adjust for above split. * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled. * stor-layout.c (vector_type_mode): Adjust location of mode field. * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC): Define. (struct tree_type): Split into... (struct tree_type_common: ...this and... (struct tree_type_with_lang_specific): ...this and... (struct tree_type_non_common): ...this. Adjust accessor macros accordingly. (TYPE_VALUES_RAW): Define. (union tree_node): Update for above changes. * tree.c (tree_node_structure_for_code) [tcc_type]: Return TS_TYPE_NON_COMMON. (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON. Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON. (tree_code_size) [tcc_type]: Use struct tree_type_non_common. * treestructu.def (TS_TYPE): Remove. (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON): Define. gcc/java/ * java-tree.h (TYPE_ARGUMENT_SIGNATURE): Use TYPE_MINVAL. gcc/lto/ * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust location of binfo field. (lto_fixup_prevailing_decls): Likewise. gcc/objc/ * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors. (CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise. (PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise. From-SVN: r173658
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 7fd078d..c38d24b 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -303,7 +303,7 @@ tree_node_structure_for_code (enum tree_code code)
}
}
case tcc_type:
- return TS_TYPE;
+ return TS_TYPE_NON_COMMON;
case tcc_reference:
case tcc_comparison:
case tcc_unary:
@@ -385,7 +385,7 @@ initialize_tree_contains_struct (void)
case TS_IDENTIFIER:
case TS_DECL_MINIMAL:
- case TS_TYPE:
+ case TS_TYPE_COMMON:
case TS_LIST:
case TS_VEC:
case TS_EXP:
@@ -398,6 +398,14 @@ initialize_tree_contains_struct (void)
MARK_TS_COMMON (code);
break;
+ case TS_TYPE_WITH_LANG_SPECIFIC:
+ MARK_TS_TYPE_COMMON (code);
+ break;
+
+ case TS_TYPE_NON_COMMON:
+ MARK_TS_TYPE_WITH_LANG_SPECIFIC (code);
+ break;
+
case TS_DECL_COMMON:
MARK_TS_DECL_MINIMAL (code);
break;
@@ -639,7 +647,7 @@ tree_code_size (enum tree_code code)
}
case tcc_type: /* a type node */
- return sizeof (struct tree_type);
+ return sizeof (struct tree_type_non_common);
case tcc_reference: /* a reference */
case tcc_expression: /* an expression */