From: Richard Earnshaw Date: Fri, 17 Jul 1998 03:34:34 +0000 (+0000) Subject: tree.c (valid_machine_attribute): Only create a new type variant if there is a decl... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f022f9bcfc83be98e0c6618354a0fc3f9b4df0de;p=gcc.git tree.c (valid_machine_attribute): Only create a new type variant if there is a decl to use it. * tree.c (valid_machine_attribute): Only create a new type variant if there is a decl to use it. From-SVN: r21247 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a6e5fd60c17..90b8773f418 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com) + + * tree.c (valid_machine_attribute): Only create a new type variant if + there is a decl to use it. + Thu Jul 16 14:48:04 1998 Nick Clifton * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have diff --git a/gcc/tree.c b/gcc/tree.c index ec42643f333..b02e87e8af4 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -3391,8 +3391,14 @@ valid_machine_attribute (attr_name, attr_args, decl, type) } else { + /* If this is part of a declaration, create a type variant, + otherwise, this is part of a type definition, so add it + to the base type. */ type_attr_list = tree_cons (attr_name, attr_args, type_attr_list); - type = build_type_attribute_variant (type, type_attr_list); + if (decl != 0) + type = build_type_attribute_variant (type, type_attr_list); + else + TYPE_ATTRIBUTES (type) = type_attr_list; } if (decl != 0) TREE_TYPE (decl) = type;