http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50896
Bug #: 50896
Summary: FAIL: [4.7 Regression] g++.dg/lto/20100302
cp_lto_20100302_0.o-cp_lto_20100302_1.o link, -flto
-fabi-version=2 (internal compiler error)
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: lto
Severity: normal
Priority: P3
Component: c++
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected], [email protected]
The weak alias changes probably caused
FAIL: g++.dg/lto/20100302 cp_lto_20100302_0.o-cp_lto_20100302_1.o link, -flto
-fabi-version=2 (internal compiler error)
which has
Breakpoint 1, fancy_abort (
file=0x136a758 "/space/rguenther/src/svn/trunk/gcc/varasm.c", line=1141,
function=0x136d2c8 "make_decl_rtl")
at /space/rguenther/src/svn/trunk/gcc/diagnostic.c:899
899 internal_error ("in %s, at %s:%d", function, trim_filename (file),
line);
(gdb) up
#1 0x0000000000d7d415 in make_decl_rtl (decl=0x2aaaace9e140)
at /space/rguenther/src/svn/trunk/gcc/varasm.c:1137
1137 gcc_assert (TREE_CODE (decl) != VAR_DECL
(gdb) l
1132 /* Check that we are not being given an automatic variable. */
1133 gcc_assert (TREE_CODE (decl) != PARM_DECL
1134 && TREE_CODE (decl) != RESULT_DECL);
1135
1136 /* A weak alias has TREE_PUBLIC set but not the other bits. */
1137 gcc_assert (TREE_CODE (decl) != VAR_DECL
1138 || TREE_STATIC (decl)
1139 || TREE_PUBLIC (decl)
1140 || DECL_EXTERNAL (decl)
1141 || DECL_REGISTER (decl));
(gdb) call debug_tree (decl)
<var_decl 0x2aaaace9e140 _ZN1AIDv4_fE1tE
type <vector_type 0x2aaaacfc3348 mm128
type <real_type 0x2aaaacea3e70 float SF
size <integer_cst 0x2aaaacea6240 constant 32>
unit size <integer_cst 0x2aaaacea6260 constant 4>
align 32 symtab 0 alias set -1 canonical type 0x2aaaacea3e70
precision 32
pointer_to_this <pointer_type 0x2aaaaceb10a8>>
V4SF
size <integer_cst 0x2aaaacea6400 constant 128>
unit size <integer_cst 0x2aaaacea6420 constant 16>
align 128 symtab 0 alias set -1 canonical type 0x2aaaacfc33f0 nunits 4
pointer_to_this <pointer_type 0x2aaaacfc32a0>>
addressable used ignored V4SF file
/space/rguenther/src/svn/trunk/gcc/testsuite/g++.dg/lto/20100302_0.C line 9 col
19 size <integer_cst 0x2aaaacea6400 128> unit size <integer_cst 0x2aaaacea6420
16>
align 128>
Possibly also a frontend issue(?)