https://llvm.org/bugs/show_bug.cgi?id=31317
Bug ID: 31317 Summary: Windows x64 SEH finally filter has handler flags but no LSDA Product: new-bugs Version: 3.9 Hardware: PC OS: All Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: n...@ravenbrook.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 17740 --> https://llvm.org/bugs/attachment.cgi?id=17740&action=edit Simple example with LLIR and object file dump When compiling a cleanuppad on Windows x64, the resulting cleanup "filter" function has UNWIND_INFO with UNWIND_FLAG_EHANDLER and UNWIND_FLAG_UHANDLER set, but has no room at the end of the UNWIND_INFO for a language-specific data area. Not even four bytes for a 'count' of zero. This causes fatal errors if the filter function (or something called by it) raises an exception. In our compiler for a client-specific language, we are able to work around this by identifying UNWIND_INFO blocks without flag bits set but no room for an LSDA and resetting their flag bits. See attachment for a detailed example. -- 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