]> granicus.if.org Git - clang/commitdiff
Make -fms-compatibility imply -fms-extensions. Fixes PR11204.
authorDouglas Gregor <dgregor@apple.com>
Mon, 24 Oct 2011 15:27:23 +0000 (15:27 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 24 Oct 2011 15:27:23 +0000 (15:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142797 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/CompilerInvocation.cpp
test/Lexer/ms-extensions.c

index 76ceb9b0a5e3caf0e67b1119ec0623999d17fc36..f1d98b9458e96005f08756e0d04f00c21141e52e 100644 (file)
@@ -627,6 +627,8 @@ static void LangOptsToArgs(const LangOptions &Opts,
     Res.push_back("-fgnu-keywords");
   if (Opts.MicrosoftExt)
     Res.push_back("-fms-extensions");
+  if (Opts.MicrosoftMode)
+    Res.push_back("-fms-compatibility");
   if (Opts.MSCVersion != 0)
     Res.push_back("-fmsc-version=" + llvm::utostr(Opts.MSCVersion));
   if (Opts.Borland)
@@ -1697,7 +1699,8 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
                                    OPT_fno_dollars_in_identifiers,
                                    Opts.DollarIdents);
   Opts.PascalStrings = Args.hasArg(OPT_fpascal_strings);
-  Opts.MicrosoftExt = Args.hasArg(OPT_fms_extensions);
+  Opts.MicrosoftExt
+    = Args.hasArg(OPT_fms_extensions) || Args.hasArg(OPT_fms_compatibility);
   Opts.MicrosoftMode = Args.hasArg(OPT_fms_compatibility);
   Opts.MSCVersion = Args.getLastArgIntValue(OPT_fmsc_version, 0, Diags);
   Opts.Borland = Args.hasArg(OPT_fborland_extensions);
index 9cd868e8f3f2eb5c32e58e42e14649df32c85322..377d2d53cda738c614a6355f7bcc89e2394b4e3e 100644 (file)
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s
+// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility %s
 
 __int8 x1  = 3i8;
 __int16 x2 = 4i16;