-
Stephan Bergmann yazdı
Mimicing MSCV, clang-cl doesn't predefine __STDC__ (InitializeStandardPredefinedMacros in clang/lib/Frontend/InitPreprocessor.cpp) when LangOpts.MSVCCompat aka -fms-compatibility is set, which it is by default for clang-cl (Clang::ConstructJob in clang/lib/Driver/ToolChains/Clang.cpp). But clang-cl still needs to be called with /FIIntrin.h to preload declarations of intrinsics from the Clang-provided Intrin.h, some of which like unsigned char _bittest(long const *, long); both make use of "const" (which isn't defined away because the file is loaded so early) and are duplicated in the system-provided winnt.h---where the "const" /is/ defined away when that header is included later, causing "conflicting types" errors. ("Real" MSVC also runs into the #if defining "const" away, but it seems it happens to not have bad consequences there.) Change-Id: Ice92a059330bd945f8a3d9e5fa1635a01d08ad8b Reviewed-on: https://gerrit.libreoffice.org/60321 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
65ed581f