[PATCH] D73550: Prevent building with MSVC 14.24

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 28 06:50:11 PST 2020


thakis created this revision.
thakis added reviewers: hans, rnk.
Herald added a subscriber: aprantl.
Herald added a project: LLVM.

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)


https://reviews.llvm.org/D73550

Files:
  llvm/include/llvm/Support/Compiler.h


Index: llvm/include/llvm/Support/Compiler.h
===================================================================
--- llvm/include/llvm/Support/Compiler.h
+++ llvm/include/llvm/Support/Compiler.h
@@ -24,6 +24,13 @@
 
 #if defined(_MSC_VER)
 #include <sal.h>
+
+#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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73550.240864.patch
Type: text/x-patch
Size: 631 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200128/286da525/attachment.bin>


More information about the llvm-commits mailing list