[all-commits] [llvm/llvm-project] 24f510: [Support] On Windows, ensure abort() can be catche...
Alexandre Ganea via All-commits
all-commits at lists.llvm.org
Thu Sep 24 05:22:07 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 24f510570fedf2ac6ea421478c7500d777c8c3c6
https://github.com/llvm/llvm-project/commit/24f510570fedf2ac6ea421478c7500d777c8c3c6
Author: Alexandre Ganea <alexandre.ganea at ubisoft.com>
Date: 2020-09-24 (Thu, 24 Sep 2020)
Changed paths:
M llvm/include/llvm/Support/CrashRecoveryContext.h
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/unittests/Support/CrashRecoveryTest.cpp
Log Message:
-----------
[Support] On Windows, ensure abort() can be catched several times in a row with CrashRecoveryContext
Before this patch, the CrashRecoveryContext would only catch the first abort(). Any further calls to abort() inside subsquent CrashRecoveryContexts would not be catched. This is because the Windows CRT removes the abort() handler before calling it.
This is part of https://reviews.llvm.org/D70378
Commit: b3418cb4eb1456c41606f4621dcfa362fe54183c
https://github.com/llvm/llvm-project/commit/b3418cb4eb1456c41606f4621dcfa362fe54183c
Author: Zachary Turner <zturner at roblox.com>
Date: 2020-09-24 (Thu, 24 Sep 2020)
Changed paths:
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lit] Support running tests on Windows without GnuWin32
Historically, we have told contributors that GnuWin32 is a pre-requisite
because our tests depend on utilities such as sed, grep, diff, and more.
However, Git on Windows includes versions of these utilities in its
installation. Furthermore, GnuWin32 has not been updated in many years.
For these reasons, it makes sense to have the ability to run llvm tests
in a way that is both:
a) Easier on the user (less stuff to install)
b) More up-to-date (The verions that ship with git are at least as
new, if not newer, than the versions in GnuWin32.
We add support for this here by attempting to detect where Git is
installed using the Windows registry, confirming the existence of
several common Unix tools, and then adding this location to lit's PATH
environment.
Differential Revision: https://reviews.llvm.org/D84380
Commit: f5314d15af4f4514103ea12c74cb208538b8bef5
https://github.com/llvm/llvm-project/commit/f5314d15af4f4514103ea12c74cb208538b8bef5
Author: Alexandre Ganea <alexandre.ganea at ubisoft.com>
Date: 2020-09-24 (Thu, 24 Sep 2020)
Changed paths:
M clang/tools/driver/driver.cpp
M llvm/include/llvm/Support/Signals.h
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/Windows/Signals.inc
M llvm/unittests/Support/CrashRecoveryTest.cpp
Log Message:
-----------
[Support] On Unix, let the CrashRecoveryContext return the signal code
Before this patch, the CrashRecoveryContext was returning -2 upon a signal, like ExecuteAndWait does. This didn't match the behavior on Windows, where the the exception code was returned.
We now return the signal's code, which optionally allows for re-throwing the signal later. Doing so requires all custom handlers to be removed first, through llvm::sys::unregisterHandlers() which we made a public API.
This is part of https://reviews.llvm.org/D70378
Compare: https://github.com/llvm/llvm-project/compare/4da6927de470...f5314d15af4f
More information about the All-commits
mailing list