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

Alexandre Ganea via All-commits all-commits at lists.llvm.org
Mon Feb 10 06:38:59 PST 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 4759c6ef8b4ab8d17be3a5e6c96e890944bc515d
      https://github.com/llvm/llvm-project/commit/4759c6ef8b4ab8d17be3a5e6c96e890944bc515d
  Author: Alexandre Ganea <alexandre.ganea at ubisoft.com>
  Date:   2020-02-10 (Mon, 10 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

(cherry picked from commit 2a3fa0fc5cd7d3398c0293915b0e569eaa0be24b)




More information about the All-commits mailing list