http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51573
Bug #: 51573
Summary: [4.7 Regression] ICE (segfault) in
lto_varpool_encoder_encode_initializer_p
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
AssignedTo: [email protected]
ReportedBy: [email protected]
ICE happened during a Firefox build.
% cat test.ii
extern "C" struct JSObject;
template < class T > class HeapPtr
{
};
struct PendingProxyOperation {
JSObject *object;
};
struct ThreadData {
PendingProxyOperation *pendingProxyOperation;
};
struct JSThread {
ThreadData data;
};
struct JSContext {
JSThread *thread_;
};
class TypeConstraint
{
virtual void newObjectState () {
}
};
class TypeSet
{
TypeConstraint *constraintList;
};
struct Property {
TypeSet types;
};
struct Cell {
Property **propertySet;
};
struct JSObject:Cell {
};
bool
IndexToId ()
{
return 0;
bool IndexToIdSlow (JSContext);
}
% c++ -flto test.ii
test.ii: In function ‘IndexToId()’:
test.ii:41:1: internal compiler error: Segmentation fault
Please submit a full bug report
Program received signal SIGSEGV, Segmentation fault.
[Switching to process 16149]
0x0000000000b89c40 in
lto_varpool_encoder_encode_initializer_p(lto_varpool_encoder_d*, varpool_node*)
()
(gdb) bt
#0 0x0000000000b89c40 in
lto_varpool_encoder_encode_initializer_p(lto_varpool_encoder_d*, varpool_node*)
()
#1 0x0000000000957790 in lto_output_tree(output_block*, tree_node*, bool) ()
#2 0x0000000000a1beab in streamer_write_tree_body(output_block*, tree_node*,
bool) ()
#3 0x0000000000957506 in lto_output_tree(output_block*, tree_node*, bool) ()
...