This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] make CONST_DECL a direct subclass of tree_decl_common
- From: Nathan Froyd <froydnj at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 1 Apr 2011 12:01:43 -0700
- Subject: [PATCH] make CONST_DECL a direct subclass of tree_decl_common
Nobody touches CONST_DECL's DECL_RTL, so there's no reason to for
CONST_DECL to inherit from tree_decl_with_rtl. This patch adjusts the
inheritance structure accordingly.
Bootstrapped on x86_64-unknown-linux-gnu; tests in progress. OK to
commit once those complete?
-Nathan
* tree.h (struct tree_const_decl): Inherit from tree_decl_common.
* tree.c (initialize_tree_contains_struct): Adjust accordingly.
diff --git a/gcc/tree.c b/gcc/tree.c
index 69d5ecb..3d8abee 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -439,6 +439,7 @@ initialize_tree_contains_struct (void)
break;
case TS_DECL_WRTL:
+ case TS_CONST_DECL:
MARK_TS_DECL_COMMON (code);
break;
@@ -450,7 +451,6 @@ initialize_tree_contains_struct (void)
case TS_PARM_DECL:
case TS_LABEL_DECL:
case TS_RESULT_DECL:
- case TS_CONST_DECL:
MARK_TS_DECL_WRTL (code);
break;
@@ -488,7 +488,6 @@ initialize_tree_contains_struct (void)
gcc_assert (tree_contains_struct[TRANSLATION_UNIT_DECL][TS_DECL_COMMON]);
gcc_assert (tree_contains_struct[LABEL_DECL][TS_DECL_COMMON]);
gcc_assert (tree_contains_struct[FIELD_DECL][TS_DECL_COMMON]);
- gcc_assert (tree_contains_struct[CONST_DECL][TS_DECL_WRTL]);
gcc_assert (tree_contains_struct[VAR_DECL][TS_DECL_WRTL]);
gcc_assert (tree_contains_struct[PARM_DECL][TS_DECL_WRTL]);
gcc_assert (tree_contains_struct[RESULT_DECL][TS_DECL_WRTL]);
diff --git a/gcc/tree.h b/gcc/tree.h
index 9a288cb..e166ae3 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2962,7 +2962,7 @@ struct GTY(()) tree_result_decl {
};
struct GTY(()) tree_const_decl {
- struct tree_decl_with_rtl common;
+ struct tree_decl_common common;
};
/* For a PARM_DECL, records the data type used to pass the argument,