[Bug middle-end/59176] [4.9 Regression] ICE edge points to wrong declaration / verify_cgraph_node failed
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 17 09:45:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59176
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-01-17
CC| |trippels at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #4 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
A bit more reduced:
markus@x4 tmp % cat test.ii
template <class> class A {
protected:
void m_fn2();
~A() { m_fn2(); }
virtual void m_fn1();
};
class D : A<int> {};
template <class Key> void A<Key>::m_fn2() {
m_fn1();
m_fn1();
m_fn1();
}
#pragma interface
class B {
D m_cellsAlreadyProcessed;
D m_cellsNotToProcess;
public:
virtual ~B() {}
void m_fn1();
};
class C {
unsigned long m_fn1();
B m_fn2();
unsigned long m_fn3();
};
unsigned long C::m_fn1() {
CellHierarchy:
m_fn2().m_fn1();
}
unsigned long C::m_fn3() {
CellHierarchy:
m_fn2().m_fn1();
}
markus@x4 tmp % /var/tmp/gcc_test/usr/local/bin/g++ -O3 -c test.ii
test.ii:38:1: error: edge points to wrong declaration:
}
^
<function_decl 0x7fbc9b7e4c00 __base_dtor .constprop
type <method_type 0x7fbc9b7ca690
type <void_type 0x7fbc9b671000 void type_6 VOID
align 8 symtab 0 alias set -1 canonical type 0x7fbc9b671000
pointer_to_this <pointer_type 0x7fbc9b6710a8>>
QI
size <integer_cst 0x7fbc9b660280 constant 8>
unit size <integer_cst 0x7fbc9b6602a0 constant 1>
align 8 symtab 0 alias set -1 canonical type 0x7fbc9b7ca690 method
basetype <record_type 0x7fbc9b7c8bd0 B>
arg-types <tree_list 0x7fbc9b7f30a0 value <pointer_type 0x7fbc9b7c8e70>
chain <tree_list 0x7fbc9b65cb40 value <void_type 0x7fbc9b671000
void>>>>
static autoinline decl_5 QI file test.ii line 21 col 11 align 16 context
<record_type 0x7fbc9b7c8bd0 B> abstract_origin <function_decl 0x7fbc9b7b3200 B>
full-name "B::~B()"
pending-inline-info 0x7fbc9b7cc780>
Instead of: <function_decl 0x7fbc9b7cb200 __comp_dtor
type <method_type 0x7fbc9b7c8dc8
type <void_type 0x7fbc9b671000 void type_6 VOID
align 8 symtab 0 alias set -1 canonical type 0x7fbc9b671000
pointer_to_this <pointer_type 0x7fbc9b6710a8>>
QI
size <integer_cst 0x7fbc9b660280 constant 8>
unit size <integer_cst 0x7fbc9b6602a0 constant 1>
align 8 symtab 0 alias set -1 canonical type 0x7fbc9b7c8dc8 method
basetype <record_type 0x7fbc9b7c8bd0 B>
arg-types <tree_list 0x7fbc9b7c0898 value <pointer_type 0x7fbc9b7c8e70>
chain <tree_list 0x7fbc9b65cb40 value <void_type 0x7fbc9b671000
void>>>
pointer_to_this <pointer_type 0x7fbc9b7ca498>>
addressable used public static external weak autoinline decl_5 QI file
test.ii line 21 col 11 align 16 context <record_type 0x7fbc9b7c8bd0 B> initial
<error_mark 0x7fbc9b655f48> abstract_origin <function_decl 0x7fbc9b7b3200 B>
full-name "B::~B()"
pending-inline-info 0x7fbc9b7cc900 chain <function_decl 0x7fbc9b7cb100
__deleting_dtor >>
_ZN1C5m_fn3Ev/8 (long unsigned int C::m_fn3()) @0x7fbc9b7d2000
Type: function definition analyzed
Visibility: forced_by_abi externally_visible public
References: __gxx_personality_v0/22 (addr)
Referring:
Availability: available
First run: 0
Function flags: body
Called by:
Calls: _ZN1BD2Ev.constprop.0/35 _ZN1BD2Ev.constprop.0/39 (inlined) (1.00 per
call) (can throw external) _ZN1B5m_fn1Ev/21 (1.00 per call) _ZN1C5m_fn2Ev/20
(1.00 per call) (can throw external)
test.ii:38:1: internal compiler error: verify_cgraph_node failed
More information about the Gcc-bugs
mailing list