diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-12 23:34:09 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-12 23:34:09 +0000 |
commit | 03908818121d7f3e0bacb15f460eaf661b12c1a8 (patch) | |
tree | e0ba09b20b9401b57ddfd7bb96ac65cafde86a0b /gcc/tree.h | |
parent | 536a6652af6d9edc775c6f153b35225dfde6c94e (diff) | |
download | gcc-03908818121d7f3e0bacb15f460eaf661b12c1a8.tar.gz |
PR c/24255
* tree.h (DECL_TRANSPARENT_UNION): Remove.
* function.c (assign_parm_find_data_types): Don't support it.
* print-tree.c (print_node): Likewise.
* c-common.c (handle_transparent_union_attribute): Likewise.
Use build_duplicate_type.
* tree-inline.c (remap_type_1): Split out of remap_type;
properly remap aggregate fields.
(build_duplicate_type): New.
* doc/extend.texi (Variable Attributes): Remove documentation
for transparent_union.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105338 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index 144dbd87061..f54f6d34977 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -2199,12 +2199,11 @@ struct tree_decl_common GTY(()) /* In LABEL_DECL, this is DECL_ERROR_ISSUED. In VAR_DECL and PARM_DECL, this is DECL_REGISTER. */ unsigned decl_flag_0 : 1; - /* In FIELD_DECL, this is DECL_PACKED - In PARM_DECL, this is DECL_TRANSPARENT_UNION. */ + /* In FIELD_DECL, this is DECL_PACKED. */ unsigned decl_flag_1 : 1; /* In FIELD_DECL, this is DECL_BIT_FIELD In VAR_DECL and FUNCTION_DECL, this is DECL_EXTERNAL. - In TYPE_DECL, this is TYPE_DECL_SUPRESS_DEBUG*/ + In TYPE_DECL, this is TYPE_DECL_SUPRESS_DEBUG. */ unsigned decl_flag_2 : 1; /* In FIELD_DECL, this is DECL_NONADDRESSABLE_P In VAR_DECL and PARM_DECL, this is DECL_HAS_VALUE_EXPR. */ @@ -2386,12 +2385,6 @@ struct tree_const_decl GTY(()) where the data was actually passed. */ #define DECL_INCOMING_RTL(NODE) (PARM_DECL_CHECK (NODE)->parm_decl.incoming_rtl) -/* Used in PARM_DECLs whose type are unions to indicate that the - argument should be passed in the same way that the first union - alternative would be passed. */ -#define DECL_TRANSPARENT_UNION(NODE) \ - (PARM_DECL_CHECK (NODE)->decl_common.decl_flag_1) - struct tree_parm_decl GTY(()) { struct tree_decl_with_rtl common; @@ -3989,6 +3982,7 @@ extern bool debug_find_tree (tree, tree); /* This is in tree-inline.c since the routine uses data structures from the inliner. */ extern tree unsave_expr_now (tree); +extern tree build_duplicate_type (tree); /* In emit-rtl.c */ extern rtx emit_line_note (location_t); |