Summary: | [4.1 Regression] Compile failure with --combine and explicitly aligned structures | ||
---|---|---|---|
Product: | gcc | Reporter: | David Woodhouse <dwmw2> |
Component: | c | Assignee: | Jakub Jelinek <jakub> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aldot, alexandre.nunes, aoliva, ddrake, dwmw2, gcc-bugs, pinskia |
Priority: | P2 | Keywords: | rejects-valid |
Version: | 4.1.1 | ||
Target Milestone: | 4.2.0 | ||
URL: | http://gcc.gnu.org/ml/gcc-patches/2006-08/msg00447.html | ||
Host: | Target: | ||
Build: | Known to work: | 4.0.0 4.2.0 4.3.1 4.4.0 | |
Known to fail: | 4.1.1 4.1.3 | Last reconfirmed: | 2006-08-14 13:42:11 |
Attachments: | backported to gcc 4.1.2 |
Description
David Woodhouse
2006-08-13 10:29:26 UTC
This works in 3.4.0 and 4.0.0 so this is either a regression or a bug in redhat's compiler or a bug in the patch. It is a regression. Subject: Bug 28706 Author: jakub Date: Sat Sep 23 07:15:37 2006 New Revision: 117167 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117167 Log: PR c/28706 PR c/28712 * tree.c (merge_attributes, attribute_list_contained): If both TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of simple_cst_equal. * c-typeck.c (comptypes_internal): Don't consider aggregates in different TUs as compatible if there one set of attributes is not a subset of the other type's attributes. (composite_type): Try harder not to create a new aggregate type. * gcc.dg/pr28706.c: New test. * gcc.dg/pr28712.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr28706.c trunk/gcc/testsuite/gcc.dg/pr28712.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree.c Created attachment 13086 [details]
backported to gcc 4.1.2
Is there any chance of this fix appearing in a release before 4.3.0? I have backported it to 4.1.2 successfully. There was a trivial reject (indentation changes only) and also I had to add { } around the contents of the 2nd hunk in c-typeck.c
Let me know if I can help further.
How about posting the backported-and-tested patch to gcc-patches, indicating on which platform you've tested it? This seems to work as of gcc 4.2.2 (vanilla), using the original commands to reproduce. Anyone denies/confirms this? (In reply to comment #6) > This seems to work as of gcc 4.2.2 (vanilla), using the original commands to > reproduce. Anyone denies/confirms this? > ... and please see bug 34800 . works for me with 4.3.1 and current trunk Closing 4.1 branch. |