It took a while to track down, but it looks like revision 192117
(dated 2013-10-07) is the source of a DragonEgg segfault I've been
fighting with for quite some time. For details and a reproducer (less
than a page of C++ code) please see my Bugzilla report:
Bug 18358 - "internal compiler error: Segmentation fault" on C++ code
The real code that this affects is my Byfl tool,
https://github.com/losalamos/Byfl, which compiles with LLVM revision
192116 and earlier but not with revision 192117 and later.
I must admit I don't understand exactly what r192117 is doing, but
I've attached a patch that simply and stupidly reverses the changes
performed by r192117. Applying this patch to trunk (r201101) gets
Byfl and my reproducer compiling again.
Any chance this patch -- or, even better, a "real" fix for whatever
problem r192117 is introducing -- can make it into LLVM? (I've never
submitted a patch before and don't know what the formal procedure is.)
fix-dregg.patch (19.5 KB)