summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-12 23:34:09 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-12 23:34:09 +0000
commit03908818121d7f3e0bacb15f460eaf661b12c1a8 (patch)
treee0ba09b20b9401b57ddfd7bb96ac65cafde86a0b /gcc/function.c
parent536a6652af6d9edc775c6f153b35225dfde6c94e (diff)
downloadgcc-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/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 2df1eff5b44..7cff2a0d1dc 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -2013,9 +2013,8 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm,
/* If the parm is to be passed as a transparent union, use the type of
the first field for the tests below. We have already verified that
the modes are the same. */
- if (DECL_TRANSPARENT_UNION (parm)
- || (TREE_CODE (passed_type) == UNION_TYPE
- && TYPE_TRANSPARENT_UNION (passed_type)))
+ if (TREE_CODE (passed_type) == UNION_TYPE
+ && TYPE_TRANSPARENT_UNION (passed_type))
passed_type = TREE_TYPE (TYPE_FIELDS (passed_type));
/* See if this arg was passed by invisible reference. */