From 0d17410e919124b3a9194b9bdbe2ce39dd779941 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Tue, 28 Jan 2020 10:09:52 -0500 Subject: [PATCH] Prevent building with MSVC 14.24 MSVC 14.24 miscompiles some of LLVM's code, which makes at least these tests fail: LLVM :: MC/MachO/gen-dwarf-cpp.s LLVM :: MC/MachO/gen-dwarf-macro-cpp.s LLVM :: MC/MachO/gen-dwarf-producer.s LLVM :: MC/MachO/gen-dwarf.s It seems better to diagnose that at build time. Since both the previous and the next version have a fix, this might be good enough and we might not need a real workaround. (We ran into this at https://crbug.com/1045948) If you hit this, use either a newer or an older version of MSVC, or use clang-cl as host compiler. Differential Revision: https://reviews.llvm.org/D73550 --- llvm/include/llvm/Support/Compiler.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h index 34d8ed8..a583b2d 100644 --- a/llvm/include/llvm/Support/Compiler.h +++ b/llvm/include/llvm/Support/Compiler.h @@ -24,6 +24,13 @@ #if defined(_MSC_VER) #include + +#if _MSC_VER == 1924 +// See https://developercommunity.visualstudio.com/content/problem/845933/miscompile-boolean-condition-deduced-to-be-always.html +// and thread "[llvm-dev] Longstanding failing tests - clang-tidy, MachO, Polly" +// on llvm-dev Jan 21-23 2020. +#error "MSVC 19.24 version of MSVC is known to miscompile LLVM." +#endif #endif #ifndef __has_feature -- 2.7.4