[llvm-dev] Kill "KillTheDoctor"

Michael Kruse via llvm-dev llvm-dev at lists.llvm.org
Sat Jun 13 16:54:29 PDT 2020


I opened a patch review at https://reviews.llvm.org/D81801.

Michael

Am So., 7. Juni 2020 um 02:44 Uhr schrieb Michael Kruse <llvmdev at meinersbur.de>:
>
> We still have the program called "KillTheDoctor" [1] in our source
> tree. Its original intention was to stop requiring user interaction
> for crashing regression tests under Windows (infamous Dr. Watson,
> nowadays "[program] has stopped working" [2]), I don't think it is
> useful anymore. It's also a very hacky approach, as admitted in the
> source comment itself ("I hate Windows.")
>
> I don't think it was the right approach in the first place. Today,
> LLVM tools disable error reporting themselves [3,4].
> SEM_NO­GP­FAULT­ERROR­BOX [5] can be passed when launching arbitrary
> programs with error reporting disabled.
>
> The only reference to it in the current source tree is compiler-rt [6]
> and explicitly mentions it should be integrated with "not --crash".
> However, it apparently already handles this case [7] and is already
> used outside of compiler-rt, eg. [8]. Removing the special case for
> Windows in [6] still passes the tests on my Windows machine (at least
> check-asan and check-builtins).
>
> Therefore, I propose to remove KillTheDoctor.
>
> Michael
>
> [1] https://github.com/llvm/llvm-project/tree/master/llvm/utils/KillTheDoctor
> [2] https://www.ecosia.org/images?q=%22has+stopped+working%22
> [3] https://github.com/llvm/llvm-project/blob/master/llvm/lib/Support/Windows/Signals.inc#L484
> [4] https://github.com/llvm/llvm-project/blob/master/llvm/utils/unittest/UnitTestMain/TestMain.cpp#L38
> [5] https://devblogs.microsoft.com/oldnewthing/20160204-00/?p=92972
> [6] https://github.com/llvm/llvm-project/blob/master/compiler-rt/test/lit.common.cfg.py#L219
> [7] https://github.com/llvm/llvm-project/blob/master/llvm/utils/not/not.cpp#L48
> [8] https://github.com/llvm/llvm-project/blob/master/clang/test/Frontend/remove-file-on-signal.c#L2


More information about the llvm-dev mailing list