Do not define __STRICT_ANSI__ in clang-cl
authorEhsan Akhgari <ehsan.akhgari@gmail.com>
Mon, 30 Jun 2014 20:36:33 +0000 (20:36 +0000)
committerEhsan Akhgari <ehsan.akhgari@gmail.com>
Mon, 30 Jun 2014 20:36:33 +0000 (20:36 +0000)
llvm-svn: 212066

clang/lib/Frontend/InitPreprocessor.cpp
clang/test/Preprocessor/predefined-macros.c

index 8aa96d8..7709939 100644 (file)
@@ -478,7 +478,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
   // Initialize language-specific preprocessor defines.
 
   // Standard conforming mode?
-  if (!LangOpts.GNUMode)
+  if (!LangOpts.GNUMode && !LangOpts.MSVCCompat)
     Builder.defineMacro("__STRICT_ANSI__");
 
   if (LangOpts.CPlusPlus11)
index 34de794..3e0b8a0 100644 (file)
@@ -9,6 +9,7 @@
 // CHECK-MS: #define _M_IX86_FP
 // CHECK-MS: #define _WIN32 1
 // CHECK-MS-NOT: #define __GNUC__
+// CHECK-MS-NOT: #define __STRICT_ANSI__
 //
 // RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-compatibility \
 // RUN:     -o - | FileCheck %s --check-prefix=CHECK-MS-STDINT