[Bug target/43808] [4.6 Regression] -fipa-reference -fschedule-insns -fstrict-aliasing causes two gfortran check failures
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Nov 9 12:48:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43808
--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-11-09 12:47:56 UTC ---
The first patch bootstrapped/regtested fine on both x86_64-linux and
i686-linux, the second one caused a couple of regressions on x86_64-linux (and
worked fine on i686-linux):
FAIL: gcc.target/x86_64/abi/test_3_element_struct_and_unions.c compilation,
-O0 (internal compiler error)
UNRESOLVED: gcc.target/x86_64/abi/test_3_element_struct_and_unions.c execution,
-O0
FAIL: gcc.target/x86_64/abi/test_basic_array_size_and_align.c compilation, -O0
(internal compiler error)
UNRESOLVED: gcc.target/x86_64/abi/test_basic_array_size_and_align.c execution,
-O0
FAIL: gnat.dg/gen_disp.adb (test for excess errors)
FAIL: gnat.dg/specs/private_with.ads (test for excess errors)
All of these are ICEs in update_alias_info_with_stack_vars, short testcase on
x86_64-linux is:
int
main (void)
{
{
struct S1 { long double t1; long double t2; float t3; } s1;
}
{
struct S2 { long double t1; long double t2; double t3; } s2;
}
}
The ICE is in:
/* We should never end up partitioning SSA names (though they
may end up on the stack). Neither should we allocate stack
space to something that is unused and thus unreferenced. */
gcc_assert (DECL_P (decl)
&& referenced_var_lookup (DECL_UID (decl)));
decl is s1 (VAR_DECL), but referenced_var_lookup returns NULL on it.
Wonder if we just shouldn't add && optimize into the assert, or whether it is
really a problem if a non-referenced var makes it in.
More information about the Gcc-bugs
mailing list