Make -fms-compatibility imply -fms-extensions. Fixes PR11204.

llvm-svn: 142797
This commit is contained in:
Douglas Gregor 2011-10-24 15:27:23 +00:00
parent d5bcd07e5d
commit 9885f6153f
2 changed files with 5 additions and 1 deletions

View File

@ -627,6 +627,8 @@ static void LangOptsToArgs(const LangOptions &Opts,
Res.push_back("-fgnu-keywords"); Res.push_back("-fgnu-keywords");
if (Opts.MicrosoftExt) if (Opts.MicrosoftExt)
Res.push_back("-fms-extensions"); Res.push_back("-fms-extensions");
if (Opts.MicrosoftMode)
Res.push_back("-fms-compatibility");
if (Opts.MSCVersion != 0) if (Opts.MSCVersion != 0)
Res.push_back("-fmsc-version=" + llvm::utostr(Opts.MSCVersion)); Res.push_back("-fmsc-version=" + llvm::utostr(Opts.MSCVersion));
if (Opts.Borland) if (Opts.Borland)
@ -1697,7 +1699,8 @@ static void ParseLangArgs(LangOptions &Opts, ArgList &Args, InputKind IK,
OPT_fno_dollars_in_identifiers, OPT_fno_dollars_in_identifiers,
Opts.DollarIdents); Opts.DollarIdents);
Opts.PascalStrings = Args.hasArg(OPT_fpascal_strings); 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.MicrosoftMode = Args.hasArg(OPT_fms_compatibility);
Opts.MSCVersion = Args.getLastArgIntValue(OPT_fmsc_version, 0, Diags); Opts.MSCVersion = Args.getLastArgIntValue(OPT_fmsc_version, 0, Diags);
Opts.Borland = Args.hasArg(OPT_fborland_extensions); Opts.Borland = Args.hasArg(OPT_fborland_extensions);

View File

@ -1,4 +1,5 @@
// RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s // RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s
// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility %s
__int8 x1 = 3i8; __int8 x1 = 3i8;
__int16 x2 = 4i16; __int16 x2 = 4i16;