https://llvm.org/bugs/show_bug.cgi?id=26757
Bug ID: 26757 Summary: [WinEH] invalid exception object in catch handler Product: new-bugs Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: r.sagita...@gmx.de CC: llvm-bugs@lists.llvm.org Classification: Unclassified The attached IR is generated by enabling optimization in the D compiler, but generates code that crashes in the continuation of the catch handler because the exception object is invalid. The stack offset for the exception object in the handlerMap is 0, see the respective asm: $handlerMap$0$__D3enf15__unittestL11_1FZv: .long 0 .long _Dobject.Exception@TypeDescriptor .long 0 .long "?catch$4@?0?__D3enf15__unittestL11_1FZv@4HA" This is rejected by the VC runtime in int __BuildCatchObjectHelper(), HT_DISPCATCH(*pCatch) is 0: // If the catch is by ellipsis, then there is no object to construct. // If the catch is by type(No Catch Object), then leave too! if (HT_IS_TYPE_ELLIPSIS(*pCatch) || (!HT_DISPCATCH(*pCatch) && !HT_ISCOMPLUSEH(*pCatch))) { EHTRACE_EXIT; return 0; } -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs