[Bug tree-optimization/46349] New: [4.6 regression] incorrect scalarization
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Nov 7 19:44:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46349
Summary: [4.6 regression] incorrect scalarization
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: ebotcazou@gcc.gnu.org
The fix for PR tree-opt/44972 has introduced regressions in Ada, specifically:
(sra_modify_assign): Removed ref_expr_for_all_replacements_p checks,
checks for return values of build_ref_for_offset.
sra_modify_assign now builds addresses of non-byte-aligned references, leading
to the expected ICE later in the RTL expander:
eric@atlantis:~/build/gcc/native32> gcc/xgcc -Bgcc -S opt9.adb -gnatws -O
+===========================GNAT BUG DETECTED==============================+
| 4.6.0 20101105 (experimental) [trunk revision 166350] (i586-suse-linux-gnu)
GCC error:|
| in expand_expr_addr_expr_1, at expr.c:7009 |
| Error detected around opt9.adb:17:7
The non-byte-aligned reference is a bitfield with aggregate type. I think that
the checks of the return values should be reinstated somehow or other.
The testcase is suitable for addition to the gnat.dg testsuite.
More information about the Gcc-bugs
mailing list