http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51650
Bug #: 51650 Summary: [4.7 regression] ICE in dwarf2out_finish, at dwarf2out.c:22501 while building libxul Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: mar...@trippelsdorf.de After applying the patch that fixes Bug 51635 I've hit new bug while building Firefox's libxul. % cat test.ii extern "C" typedef int PRUint32; typedef PRUint32 nsresult; class nsQueryFrame { }; extern "C" struct PLDHashEntryHdr { }; template < class > class nsPtrHashKey:PLDHashEntryHdr { }; class nsIFrame; namespace mozilla { struct FramePropertyDescriptor { }; class FramePropertyTable { public:FramePropertyTable ():mLastFrame (), mLastEntry () { } void *Get (nsIFrame *, FramePropertyDescriptor *, bool *); class Entry:nsPtrHashKey < nsIFrame > { }; nsIFrame *mLastFrame; Entry *mLastEntry; }; class FrameProperties { public:FrameProperties ():mTable (), mFrame () { } void *Get (FramePropertyDescriptor * aProperty) { mTable->Get (0, aProperty, 0); } FramePropertyTable *mTable; nsIFrame *mFrame; }; } extern "C" class nsIFrame:nsQueryFrame { public:typedef mozilla::FramePropertyDescriptor FramePropertyDescriptor; typedef mozilla::FrameProperties FrameProperties; FrameProperties Properties () { } static FramePropertyDescriptor *EmbeddingLevelProperty () { static FramePropertyDescriptor descriptor; return &descriptor; } }; nsresult nsCaretGetCaretFrameForNodeOffset () { nsIFrame *theFrame; theFrame->Properties ().Get (nsIFrame::EmbeddingLevelProperty ()); } % g++ -flto -g -w test.ii lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:22501 Please submit a full bug report, with preprocessed source if appropriate.