[all-commits] [llvm/llvm-project] 2a3fa0: [Support] When using SEH, create a impl instance f...

Alexandre Ganea via All-commits all-commits at lists.llvm.org
Thu Feb 6 16:26:00 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a3fa0fc5cd7d3398c0293915b0e569eaa0be24b
      https://github.com/llvm/llvm-project/commit/2a3fa0fc5cd7d3398c0293915b0e569eaa0be24b
  Author: Alexandre Ganea <alexandre.ganea at ubisoft.com>
  Date:   2020-02-06 (Thu, 06 Feb 2020)

  Changed paths:
    M llvm/lib/Support/CrashRecoveryContext.cpp

  Log Message:
  -----------
  [Support] When using SEH, create a impl instance for CrashRecoveryContext. NFCI.

Previously, the SEH codepath in CrashRecoveryContext didn't create a CrashRecoveryContextImpl. The other codepaths (VEH and Unix) were creating it.

When running with -fintegrated-cc1, this is needed to handle exit() as a jump to CrashRecoveryContext's exception filter, through a call to RaiseException. In that situation, we need a user-defined exception code, which is later interpreted as an exit() by the exception filter. This in turn needs to set RetCode accordingly, *inside* the exception filter, and *before* calling HandleCrash().

Differential Revision: https://reviews.llvm.org/D74078




More information about the All-commits mailing list