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
This commit is contained in:
Nico Weber 2020-01-28 10:09:52 -05:00
parent 9d212e83e9
commit 0d17410e91
1 changed files with 7 additions and 0 deletions

View File

@ -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