aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2003-08-20 08:24:18 -0400
committerJason Merrill <jason@gcc.gnu.org>2003-08-20 08:24:18 -0400
commit3acef2ae63e40303a73a7559939689c397c0450d (patch)
tree5de64ab02077a2ceccd6dd2c4e277f161bd8ac99 /gcc/tree.c
parent8f7d850c97a24f9809bfc3f9505d508e8b011000 (diff)
downloadgcc-3acef2ae63e40303a73a7559939689c397c0450d.zip
gcc-3acef2ae63e40303a73a7559939689c397c0450d.tar.gz
gcc-3acef2ae63e40303a73a7559939689c397c0450d.tar.bz2
stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from TYPE_USER_ALIGN for FIELD_DECLs.
* stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from TYPE_USER_ALIGN for FIELD_DECLs. * attribs.c (decl_attributes): Rebuild the function pointer type after changing the target type. * tree.c (get_qualified_type): Also check that the attributes match. From-SVN: r70597
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 8418767..3bae512 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -2849,7 +2849,8 @@ get_qualified_type (tree type, int type_quals)
preserve the TYPE_NAME, since there is code that depends on this. */
for (t = TYPE_MAIN_VARIANT (type); t; t = TYPE_NEXT_VARIANT (t))
if (TYPE_QUALS (t) == type_quals && TYPE_NAME (t) == TYPE_NAME (type)
- && TYPE_CONTEXT (t) == TYPE_CONTEXT (type))
+ && TYPE_CONTEXT (t) == TYPE_CONTEXT (type)
+ && attribute_list_equal (TYPE_ATTRIBUTES (t), TYPE_ATTRIBUTES (type)))
return t;
return NULL_TREE;