[PATCH] D33261: [CrashRecovery] Use SEH __try instead of VEH when available

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 16 15:44:04 PDT 2017


rnk created this revision.
Herald added a subscriber: mgorny.

It avoids problems when other libraries raise exceptions. In particular,
OutputDebugString raises an exception that the debugger is supposed to
catch and suppress. VEH kicks in first right now, and that is entirely
incorrect.

Unfortunately, GCC does not support SEH, so I've kept the old buggy VEH
codepath around. We could fix it with SetUnhandledExceptionFilter, but
that is not per-thread, so a well-behaved library shouldn't set it.


https://reviews.llvm.org/D33261

Files:
  llvm/lib/Support/CrashRecoveryContext.cpp
  llvm/unittests/Support/CMakeLists.txt
  llvm/unittests/Support/CrashRecoveryTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33261.99221.patch
Type: text/x-patch
Size: 5494 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170516/9575fbfb/attachment.bin>


More information about the llvm-commits mailing list