r374449 - Add -fgnuc-version= to control __GNUC__ and other GCC macros

Craig Topper via cfe-commits cfe-commits at lists.llvm.org
Fri Oct 11 21:08:19 PDT 2019


I think _MSC_VER is controlled by -ms-compatiblity-version based on what I
found when I was missing with the bmiintrin.h header yesterday.

~Craig


On Fri, Oct 11, 2019 at 3:05 PM Reid Kleckner via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> I think overloading zero to mean "don't define __GNUC__" was my way of
> side stepping the need to think of a good name for this. I don't like
> -fno-gnu-extensions as a name because clang still supports GCC asm,
> __attribute__, statement expressions, computed goto, etc, and that flag
> name seems like it should turn all of them off. I could imagine
> `-f[no-]gcc-compatility` as something that would control our "pretend to be
> GCC" behavior.
>
> I think the _MSC_VER macro is currently controlled -fms-extensions in
> clang, but maybe it should be under -fms-compatibility, to imagine a
> glorious hypothetical future where we don't have this "user agent" problem.
>
> On Fri, Oct 11, 2019 at 10:04 AM Nico Weber <thakis at chromium.org> wrote:
>
>> It's cool we finally have a flag for this, but overloading its meaning
>> with the =0 behavior seems a bit strange to me. Maybe we should have a
>> separate -fno-gnu-extensions for that part instead?
>>
>> On Thu, Oct 10, 2019 at 5:02 PM Reid Kleckner via cfe-commits <
>> cfe-commits at lists.llvm.org> wrote:
>>
>>> Author: rnk
>>> Date: Thu Oct 10 14:04:25 2019
>>> New Revision: 374449
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=374449&view=rev
>>> Log:
>>> Add -fgnuc-version= to control __GNUC__ and other GCC macros
>>>
>>> I noticed that compiling on Windows with -fno-ms-compatibility had the
>>> side effect of defining __GNUC__, along with __GNUG__, __GXX_RTTI__, and
>>> a number of other macros for GCC compatibility. This is undesirable and
>>> causes Chromium to do things like mix __attribute__ and __declspec,
>>> which doesn't work. We should have a positive language option to enable
>>> GCC compatibility features so that we can experiment with
>>> -fno-ms-compatibility on Windows. This change adds -fgnuc-version= to be
>>> that option.
>>>
>>> My issue aside, users have, for a long time, reported that __GNUC__
>>> doesn't match their expectations in one way or another. We have
>>> encouraged users to migrate code away from this macro, but new code
>>> continues to be written assuming a GCC-only environment. There's really
>>> nothing we can do to stop that. By adding this flag, we can allow them
>>> to choose their own adventure with __GNUC__.
>>>
>>> This overlaps a bit with the "GNUMode" language option from -std=gnu*.
>>> The gnu language mode tends to enable non-conforming behaviors that we'd
>>> rather not enable by default, but the we want to set things like
>>> __GXX_RTTI__ by default, so I've kept these separate.
>>>
>>> Helps address PR42817
>>>
>>> Reviewed By: hans, nickdesaulniers, MaskRay
>>>
>>> Differential Revision: https://reviews.llvm.org/D68055
>>>
>>> Added:
>>>     cfe/trunk/test/Driver/fgnuc-version.c
>>> Modified:
>>>     cfe/trunk/docs/ReleaseNotes.rst
>>>     cfe/trunk/docs/UsersManual.rst
>>>     cfe/trunk/include/clang/Basic/LangOptions.def
>>>     cfe/trunk/include/clang/Driver/Options.td
>>>     cfe/trunk/lib/Driver/ToolChains/Clang.cpp
>>>     cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>>>     cfe/trunk/lib/Frontend/InitPreprocessor.cpp
>>>     cfe/trunk/test/Driver/rewrite-legacy-objc.m
>>>     cfe/trunk/test/Driver/rewrite-objc.m
>>>     cfe/trunk/test/Frontend/gnu-inline.c
>>>     cfe/trunk/test/Headers/stdbool.cpp
>>>     cfe/trunk/test/Preprocessor/init.c
>>>     cfe/trunk/test/Sema/atomic-ops.c
>>>
>>> Modified: cfe/trunk/docs/ReleaseNotes.rst
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/docs/ReleaseNotes.rst (original)
>>> +++ cfe/trunk/docs/ReleaseNotes.rst Thu Oct 10 14:04:25 2019
>>> @@ -80,7 +80,10 @@ Non-comprehensive list of changes in thi
>>>  New Compiler Flags
>>>  ------------------
>>>
>>> -- ...
>>> +- The -fgnuc-version= flag now controls the value of ``__GNUC__`` and
>>> related
>>> +  macros. This flag does not enable or disable any GCC extensions
>>> implemented in
>>> +  Clang. Setting the version to zero causes Clang to leave ``__GNUC__``
>>> and
>>> +  other GNU-namespaced macros, such as ``__GXX_WEAK__``, undefined.
>>>
>>>  Deprecated Compiler Flags
>>>  -------------------------
>>>
>>> Modified: cfe/trunk/docs/UsersManual.rst
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/docs/UsersManual.rst (original)
>>> +++ cfe/trunk/docs/UsersManual.rst Thu Oct 10 14:04:25 2019
>>> @@ -701,6 +701,13 @@ Other Options
>>>  -------------
>>>  Clang options that don't fit neatly into other categories.
>>>
>>> +.. option:: -fgnuc-version=
>>> +
>>> +  This flag controls the value of ``__GNUC__`` and related macros. This
>>> flag
>>> +  does not enable or disable any GCC extensions implemented in Clang.
>>> Setting
>>> +  the version to zero causes Clang to leave ``__GNUC__`` and other
>>> +  GNU-namespaced macros, such as ``__GXX_WEAK__``, undefined.
>>> +
>>>  .. option:: -MV
>>>
>>>    When emitting a dependency file, use formatting conventions
>>> appropriate
>>>
>>> Modified: cfe/trunk/include/clang/Basic/LangOptions.def
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.def?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Basic/LangOptions.def (original)
>>> +++ cfe/trunk/include/clang/Basic/LangOptions.def Thu Oct 10 14:04:25
>>> 2019
>>> @@ -111,6 +111,7 @@ BENIGN_LANGOPT(DollarIdents   , 1, 1, "'
>>>  BENIGN_LANGOPT(AsmPreprocessor, 1, 0, "preprocessor in asm mode")
>>>  LANGOPT(GNUMode           , 1, 1, "GNU extensions")
>>>  LANGOPT(GNUKeywords       , 1, 1, "GNU keywords")
>>> +VALUE_LANGOPT(GNUCVersion , 32, 0, "GNU C compatibility version")
>>>  BENIGN_LANGOPT(ImplicitInt, 1, !C99 && !CPlusPlus, "C89 implicit 'int'")
>>>  LANGOPT(Digraphs          , 1, 0, "digraphs")
>>>  BENIGN_LANGOPT(HexFloats  , 1, C99, "C99 hexadecimal float constants")
>>>
>>> Modified: cfe/trunk/include/clang/Driver/Options.td
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/include/clang/Driver/Options.td (original)
>>> +++ cfe/trunk/include/clang/Driver/Options.td Thu Oct 10 14:04:25 2019
>>> @@ -1187,6 +1187,9 @@ def fno_use_line_directives : Flag<["-"]
>>>
>>>  def ffreestanding : Flag<["-"], "ffreestanding">, Group<f_Group>,
>>> Flags<[CC1Option]>,
>>>    HelpText<"Assert that the compilation takes place in a freestanding
>>> environment">;
>>> +def fgnuc_version_EQ : Joined<["-"], "fgnuc-version=">, Group<f_Group>,
>>> +  HelpText<"Sets various macros to claim compatibility with the given
>>> GCC version (default is 4.2.1)">,
>>> +  Flags<[CC1Option, CoreOption]>;
>>>  def fgnu_keywords : Flag<["-"], "fgnu-keywords">, Group<f_Group>,
>>> Flags<[CC1Option]>,
>>>    HelpText<"Allow GNU-extension keywords regardless of language
>>> standard">;
>>>  def fgnu89_inline : Flag<["-"], "fgnu89-inline">, Group<f_Group>,
>>> Flags<[CC1Option]>,
>>>
>>> Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
>>> +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Oct 10 14:04:25 2019
>>> @@ -4875,13 +4875,36 @@ void Clang::ConstructJob(Compilation &C,
>>>      CmdArgs.push_back("-fuse-line-directives");
>>>
>>>    // -fms-compatibility=0 is default.
>>> -  if (Args.hasFlag(options::OPT_fms_compatibility,
>>> -                   options::OPT_fno_ms_compatibility,
>>> -                   (IsWindowsMSVC &&
>>> -                    Args.hasFlag(options::OPT_fms_extensions,
>>> -                                 options::OPT_fno_ms_extensions,
>>> true))))
>>> +  bool IsMSVCCompat = Args.hasFlag(
>>> +      options::OPT_fms_compatibility, options::OPT_fno_ms_compatibility,
>>> +      (IsWindowsMSVC && Args.hasFlag(options::OPT_fms_extensions,
>>> +                                     options::OPT_fno_ms_extensions,
>>> true)));
>>> +  if (IsMSVCCompat)
>>>      CmdArgs.push_back("-fms-compatibility");
>>>
>>> +  // Handle -fgcc-version, if present.
>>> +  VersionTuple GNUCVer;
>>> +  if (Arg *A = Args.getLastArg(options::OPT_fgnuc_version_EQ)) {
>>> +    // Check that the version has 1 to 3 components and the minor and
>>> patch
>>> +    // versions fit in two decimal digits.
>>> +    StringRef Val = A->getValue();
>>> +    Val = Val.empty() ? "0" : Val; // Treat "" as 0 or disable.
>>> +    bool Invalid = GNUCVer.tryParse(Val);
>>> +    unsigned Minor = GNUCVer.getMinor().getValueOr(0);
>>> +    unsigned Patch = GNUCVer.getSubminor().getValueOr(0);
>>> +    if (Invalid || GNUCVer.getBuild() || Minor >= 100 || Patch >= 100) {
>>> +      D.Diag(diag::err_drv_invalid_value)
>>> +          << A->getAsString(Args) << A->getValue();
>>> +    }
>>> +  } else if (!IsMSVCCompat) {
>>> +    // Imitate GCC 4.2.1 by default if -fms-compatibility is not in
>>> effect.
>>> +    GNUCVer = VersionTuple(4, 2, 1);
>>> +  }
>>> +  if (!GNUCVer.empty()) {
>>> +    CmdArgs.push_back(
>>> +        Args.MakeArgString("-fgnuc-version=" + GNUCVer.getAsString()));
>>> +  }
>>> +
>>>    VersionTuple MSVT = TC.computeMSVCVersion(&D, Args);
>>>    if (!MSVT.empty())
>>>      CmdArgs.push_back(
>>>
>>> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
>>> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Oct 10 14:04:25
>>> 2019
>>> @@ -2250,6 +2250,7 @@ void CompilerInvocation::setLangDefaults
>>>    Opts.Digraphs = Std.hasDigraphs();
>>>    Opts.GNUMode = Std.isGNUMode();
>>>    Opts.GNUInline = !Opts.C99 && !Opts.CPlusPlus;
>>> +  Opts.GNUCVersion = 0;
>>>    Opts.HexFloats = Std.hasHexFloats();
>>>    Opts.ImplicitInt = Std.hasImplicitInt();
>>>
>>> @@ -2574,6 +2575,21 @@ static void ParseLangArgs(LangOptions &O
>>>          (Opts.ObjCRuntime.getKind() == ObjCRuntime::FragileMacOSX);
>>>    }
>>>
>>> +  if (Arg *A = Args.getLastArg(options::OPT_fgnuc_version_EQ)) {
>>> +    // Check that the version has 1 to 3 components and the minor and
>>> patch
>>> +    // versions fit in two decimal digits.
>>> +    VersionTuple GNUCVer;
>>> +    bool Invalid = GNUCVer.tryParse(A->getValue());
>>> +    unsigned Major = GNUCVer.getMajor();
>>> +    unsigned Minor = GNUCVer.getMinor().getValueOr(0);
>>> +    unsigned Patch = GNUCVer.getSubminor().getValueOr(0);
>>> +    if (Invalid || GNUCVer.getBuild() || Minor >= 100 || Patch >= 100) {
>>> +      Diags.Report(diag::err_drv_invalid_value)
>>> +          << A->getAsString(Args) << A->getValue();
>>> +    }
>>> +    Opts.GNUCVersion = Major * 100 * 100 + Minor * 100 + Patch;
>>> +  }
>>> +
>>>    if (Args.hasArg(OPT_fgnu89_inline)) {
>>>      if (Opts.CPlusPlus)
>>>        Diags.Report(diag::err_drv_argument_not_allowed_with)
>>>
>>> Modified: cfe/trunk/lib/Frontend/InitPreprocessor.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitPreprocessor.cpp?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/lib/Frontend/InitPreprocessor.cpp (original)
>>> +++ cfe/trunk/lib/Frontend/InitPreprocessor.cpp Thu Oct 10 14:04:25 2019
>>> @@ -574,13 +574,22 @@ static void InitializePredefinedMacros(c
>>>    Builder.defineMacro("__clang_version__",
>>>                        "\"" CLANG_VERSION_STRING " "
>>>                        + getClangFullRepositoryVersion() + "\"");
>>> -  if (!LangOpts.MSVCCompat) {
>>> -    // Currently claim to be compatible with GCC 4.2.1-5621, but only
>>> if we're
>>> -    // not compiling for MSVC compatibility
>>> -    Builder.defineMacro("__GNUC_MINOR__", "2");
>>> -    Builder.defineMacro("__GNUC_PATCHLEVEL__", "1");
>>> -    Builder.defineMacro("__GNUC__", "4");
>>> +
>>> +  if (LangOpts.GNUCVersion != 0) {
>>> +    // Major, minor, patch, are given two decimal places each, so 4.2.1
>>> becomes
>>> +    // 40201.
>>> +    unsigned GNUCMajor = LangOpts.GNUCVersion / 100 / 100;
>>> +    unsigned GNUCMinor = LangOpts.GNUCVersion / 100 % 100;
>>> +    unsigned GNUCPatch = LangOpts.GNUCVersion % 100;
>>> +    Builder.defineMacro("__GNUC__", Twine(GNUCMajor));
>>> +    Builder.defineMacro("__GNUC_MINOR__", Twine(GNUCMinor));
>>> +    Builder.defineMacro("__GNUC_PATCHLEVEL__", Twine(GNUCPatch));
>>>      Builder.defineMacro("__GXX_ABI_VERSION", "1002");
>>> +
>>> +    if (LangOpts.CPlusPlus) {
>>> +      Builder.defineMacro("__GNUG__", Twine(GNUCMajor));
>>> +      Builder.defineMacro("__GXX_WEAK__");
>>> +    }
>>>    }
>>>
>>>    // Define macros for the C11 / C++11 memory orderings
>>> @@ -619,7 +628,7 @@ static void InitializePredefinedMacros(c
>>>    if (!LangOpts.GNUMode && !LangOpts.MSVCCompat)
>>>      Builder.defineMacro("__STRICT_ANSI__");
>>>
>>> -  if (!LangOpts.MSVCCompat && LangOpts.CPlusPlus11)
>>> +  if (LangOpts.GNUCVersion && LangOpts.CPlusPlus11)
>>>      Builder.defineMacro("__GXX_EXPERIMENTAL_CXX0X__");
>>>
>>>    if (LangOpts.ObjC) {
>>> @@ -699,7 +708,7 @@ static void InitializePredefinedMacros(c
>>>
>>>    if (!LangOpts.MSVCCompat && LangOpts.Exceptions)
>>>      Builder.defineMacro("__EXCEPTIONS");
>>> -  if (!LangOpts.MSVCCompat && LangOpts.RTTI)
>>> +  if (LangOpts.GNUCVersion && LangOpts.RTTI)
>>>      Builder.defineMacro("__GXX_RTTI");
>>>
>>>    if (LangOpts.SjLjExceptions)
>>> @@ -713,11 +722,8 @@ static void InitializePredefinedMacros(c
>>>    if (LangOpts.Deprecated)
>>>      Builder.defineMacro("__DEPRECATED");
>>>
>>> -  if (!LangOpts.MSVCCompat && LangOpts.CPlusPlus) {
>>> -    Builder.defineMacro("__GNUG__", "4");
>>> -    Builder.defineMacro("__GXX_WEAK__");
>>> +  if (!LangOpts.MSVCCompat && LangOpts.CPlusPlus)
>>>      Builder.defineMacro("__private_extern__", "extern");
>>> -  }
>>>
>>>    if (LangOpts.MicrosoftExt) {
>>>      if (LangOpts.WChar) {
>>> @@ -927,7 +933,7 @@ static void InitializePredefinedMacros(c
>>>    else
>>>      Builder.defineMacro("__FINITE_MATH_ONLY__", "0");
>>>
>>> -  if (!LangOpts.MSVCCompat) {
>>> +  if (LangOpts.GNUCVersion) {
>>>      if (LangOpts.GNUInline || LangOpts.CPlusPlus)
>>>        Builder.defineMacro("__GNUC_GNU_INLINE__");
>>>      else
>>> @@ -964,7 +970,7 @@ static void InitializePredefinedMacros(c
>>>  #undef DEFINE_LOCK_FREE_MACRO
>>>    };
>>>    addLockFreeMacros("__CLANG_ATOMIC_");
>>> -  if (!LangOpts.MSVCCompat)
>>> +  if (LangOpts.GNUCVersion)
>>>      addLockFreeMacros("__GCC_ATOMIC_");
>>>
>>>    if (LangOpts.NoInlineDefine)
>>>
>>> Added: cfe/trunk/test/Driver/fgnuc-version.c
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fgnuc-version.c?rev=374449&view=auto
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Driver/fgnuc-version.c (added)
>>> +++ cfe/trunk/test/Driver/fgnuc-version.c Thu Oct 10 14:04:25 2019
>>> @@ -0,0 +1,26 @@
>>> +//
>>> +// Verify -fgnuc-version parsing
>>> +//
>>> +
>>> +// RUN: %clang -c %s -target i686-linux -### 2>&1 | FileCheck %s
>>> -check-prefix GNUC-DEFAULT
>>> +// GNUC-DEFAULT: "-fgnuc-version=4.2.1"
>>> +
>>> +// RUN: %clang -c %s -target i686-linux -fgnuc-version=100.99.99 -###
>>> 2>&1 | FileCheck %s -check-prefix GNUC-OVERRIDE
>>> +// GNUC-OVERRIDE: "-fgnuc-version=100.99.99"
>>> +
>>> +// RUN: %clang -c %s -target i686-linux -fgnuc-version=0 -### 2>&1 |
>>> FileCheck %s -check-prefix GNUC-DISABLE
>>> +// RUN: %clang -c %s -target i686-linux -fgnuc-version= -### 2>&1 |
>>> FileCheck %s -check-prefix GNUC-DISABLE
>>> +// GNUC-DISABLE-NOT: "-fgnuc-version=
>>> +
>>> +// RUN: not %clang -c %s -target i686-linux -fgnuc-version=100.100.10
>>> 2>&1 | FileCheck %s -check-prefix GNUC-INVALID
>>> +// RUN: not %clang -c %s -target i686-linux -fgnuc-version=100.10.100
>>> 2>&1 | FileCheck %s -check-prefix GNUC-INVALID
>>> +// RUN: not %clang -c %s -target i686-linux -fgnuc-version=-1.0.0 2>&1
>>> | FileCheck %s -check-prefix GNUC-INVALID
>>> +// GNUC-INVALID: error: invalid value {{.*}} in '-fgnuc-version={{.*}}'
>>> +
>>> +// RUN: %clang -fgnuc-version=100.99.99 %s -dM -E -o - | FileCheck %s
>>> -check-prefix GNUC-LARGE
>>> +// GNUC-LARGE: #define __GNUC_MINOR__ 99
>>> +// GNUC-LARGE: #define __GNUC_PATCHLEVEL__ 99
>>> +// GNUC-LARGE: #define __GNUC__ 100
>>> +
>>> +// RUN: %clang -fgnuc-version=100.99.99 -x c++ %s -dM -E -o - |
>>> FileCheck %s -check-prefix GXX-LARGE
>>> +// GXX-LARGE: #define __GNUG__ 100
>>>
>>> Modified: cfe/trunk/test/Driver/rewrite-legacy-objc.m
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/rewrite-legacy-objc.m?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Driver/rewrite-legacy-objc.m (original)
>>> +++ cfe/trunk/test/Driver/rewrite-legacy-objc.m Thu Oct 10 14:04:25 2019
>>> @@ -3,11 +3,11 @@
>>>  // TEST0: clang{{.*}}" "-cc1"
>>>  // TEST0: "-rewrite-objc"
>>>  // FIXME: CHECK-NOT is broken somehow, it doesn't work here. Check
>>> adjacency instead.
>>> -// TEST0: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fobjc-runtime=macosx-fragile" "-fno-objc-infer-related-result-type"
>>> "-fobjc-exceptions" "-fexceptions" "-fmax-type-align=16"
>>> "-fdiagnostics-show-option"
>>> +// TEST0: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fgnuc-version=4.2.1" "-fobjc-runtime=macosx-fragile"
>>> "-fno-objc-infer-related-result-type" "-fobjc-exceptions" "-fexceptions"
>>> "-fmax-type-align=16" "-fdiagnostics-show-option"
>>>  // TEST0: rewrite-legacy-objc.m"
>>>  // RUN: %clang -no-canonical-prefixes -target i386-apple-macosx10.9.0
>>> -rewrite-legacy-objc %s -o - -### 2>&1 | \
>>>  // RUN:   FileCheck -check-prefix=TEST1 %s
>>>  // RUN: %clang -no-canonical-prefixes -target i386-apple-macosx10.6.0
>>> -rewrite-legacy-objc %s -o - -### 2>&1 | \
>>>  // RUN:   FileCheck -check-prefix=TEST2 %s
>>> -// TEST1: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fobjc-runtime=macosx-fragile" "-fobjc-subscripting-legacy-runtime"
>>> "-fno-objc-infer-related-result-type" "-fobjc-exceptions"
>>> "-fmax-type-align=16" "-fdiagnostics-show-option"
>>> -// TEST2: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fobjc-runtime=macosx-fragile" "-fobjc-subscripting-legacy-runtime"
>>> "-fno-objc-infer-related-result-type" "-fobjc-exceptions"
>>> "-fmax-type-align=16" "-fdiagnostics-show-option"
>>> +// TEST1: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fgnuc-version=4.2.1" "-fobjc-runtime=macosx-fragile"
>>> "-fobjc-subscripting-legacy-runtime" "-fno-objc-infer-related-result-type"
>>> "-fobjc-exceptions" "-fmax-type-align=16" "-fdiagnostics-show-option"
>>> +// TEST2: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fgnuc-version=4.2.1" "-fobjc-runtime=macosx-fragile"
>>> "-fobjc-subscripting-legacy-runtime" "-fno-objc-infer-related-result-type"
>>> "-fobjc-exceptions" "-fmax-type-align=16" "-fdiagnostics-show-option"
>>>
>>> Modified: cfe/trunk/test/Driver/rewrite-objc.m
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/rewrite-objc.m?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Driver/rewrite-objc.m (original)
>>> +++ cfe/trunk/test/Driver/rewrite-objc.m Thu Oct 10 14:04:25 2019
>>> @@ -3,4 +3,4 @@
>>>  // TEST0: clang{{.*}}" "-cc1"
>>>  // TEST0: "-rewrite-objc"
>>>  // FIXME: CHECK-NOT is broken somehow, it doesn't work here. Check
>>> adjacency instead.
>>> -// TEST0: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fobjc-runtime=macosx" "-fno-objc-infer-related-result-type"
>>> "-fobjc-exceptions" "-fexceptions" "-fmax-type-align=16"
>>> "-fdiagnostics-show-option"
>>> +// TEST0: "-fmessage-length" "0" "-stack-protector" "1" "-fblocks"
>>> "-fencode-extended-block-signature" "-fregister-global-dtors-with-atexit"
>>> "-fgnuc-version=4.2.1" "-fobjc-runtime=macosx"
>>> "-fno-objc-infer-related-result-type" "-fobjc-exceptions" "-fexceptions"
>>> "-fmax-type-align=16" "-fdiagnostics-show-option"
>>>
>>> Modified: cfe/trunk/test/Frontend/gnu-inline.c
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Frontend/gnu-inline.c?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Frontend/gnu-inline.c (original)
>>> +++ cfe/trunk/test/Frontend/gnu-inline.c Thu Oct 10 14:04:25 2019
>>> @@ -1,9 +1,9 @@
>>> -// RUN: %clang_cc1 -std=c89 -fsyntax-only -x c -E -dM %s | FileCheck
>>> --check-prefix=GNU-INLINE %s
>>> -// RUN: %clang_cc1 -std=c99 -fsyntax-only -x c -E -dM %s | FileCheck
>>> --check-prefix=STDC-INLINE %s
>>> -// RUN: %clang_cc1 -std=c99 -fgnu89-inline -fsyntax-only -x c -E -dM %s
>>> | FileCheck --check-prefix=GNU-INLINE %s
>>> -// RUN: %clang_cc1 -fsyntax-only -x c++ -E -dM %s | FileCheck
>>> --check-prefix=GNU-INLINE %s
>>> -// RUN: not %clang_cc1 -fgnu89-inline -fsyntax-only -x c++ %s 2>&1 |
>>> FileCheck --check-prefix=CXX %s
>>> -// RUN: not %clang_cc1 -fgnu89-inline -fsyntax-only -x objective-c++ %s
>>> 2>&1 | FileCheck --check-prefix=OBJCXX %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=c89 -fsyntax-only -x c -E
>>> -dM %s | FileCheck --check-prefix=GNU-INLINE %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=c99 -fsyntax-only -x c -E
>>> -dM %s | FileCheck --check-prefix=STDC-INLINE %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=c99 -fgnu89-inline
>>> -fsyntax-only -x c -E -dM %s | FileCheck --check-prefix=GNU-INLINE %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -fsyntax-only -x c++ -E -dM %s
>>> | FileCheck --check-prefix=GNU-INLINE %s
>>> +// RUN: not %clang_cc1 -fgnu89-inline -fgnuc-version=4.2.1
>>> -fsyntax-only -x c++ %s 2>&1 | FileCheck --check-prefix=CXX %s
>>> +// RUN: not %clang_cc1 -fgnu89-inline -fgnuc-version=4.2.1
>>> -fsyntax-only -x objective-c++ %s 2>&1 | FileCheck --check-prefix=OBJCXX %s
>>>
>>>  // CXX: '-fgnu89-inline' not allowed with 'C++'
>>>  // OBJCXX: '-fgnu89-inline' not allowed with 'Objective-C++'
>>>
>>> Modified: cfe/trunk/test/Headers/stdbool.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/stdbool.cpp?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Headers/stdbool.cpp (original)
>>> +++ cfe/trunk/test/Headers/stdbool.cpp Thu Oct 10 14:04:25 2019
>>> @@ -1,7 +1,7 @@
>>> -// RUN: %clang_cc1 -std=gnu++98 -E -dM %s | FileCheck
>>> --check-prefix=CHECK-GNU-COMPAT-98 %s
>>> -// RUN: %clang_cc1 -std=gnu++11 -E -dM %s | FileCheck
>>> --check-prefix=CHECK-GNU-COMPAT-11 %s
>>> -// RUN: %clang_cc1 -std=c++98 -E -dM %s | FileCheck
>>> --check-prefix=CHECK-CONFORMING %s
>>> -// RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -verify -Weverything %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=gnu++98 -E -dM %s |
>>> FileCheck --check-prefix=CHECK-GNU-COMPAT-98 %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=gnu++11 -E -dM %s |
>>> FileCheck --check-prefix=CHECK-GNU-COMPAT-11 %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -std=c++98 -E -dM %s |
>>> FileCheck --check-prefix=CHECK-CONFORMING %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -fsyntax-only -std=gnu++98
>>> -verify -Weverything %s
>>>  #include <stdbool.h>
>>>  #define zzz
>>>
>>>
>>> Modified: cfe/trunk/test/Preprocessor/init.c
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/init.c?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Preprocessor/init.c (original)
>>> +++ cfe/trunk/test/Preprocessor/init.c Thu Oct 10 14:04:25 2019
>>> @@ -9,18 +9,18 @@
>>>  // BLOCKS:#define __block __attribute__((__blocks__(byref)))
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=c++2a -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix CXX2A %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++2a -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix CXX2A %s
>>>  //
>>> -// CXX2A:#define __GNUG__ {{.*}}
>>> +// CXX2A:#define __GNUG__ 4
>>>  // CXX2A:#define __GXX_EXPERIMENTAL_CXX0X__ 1
>>>  // CXX2A:#define __GXX_RTTI 1
>>>  // CXX2A:#define __GXX_WEAK__ 1
>>>  // CXX2A:#define __cplusplus 201707L
>>>  // CXX2A:#define __private_extern__ extern
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=c++1z -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix CXX1Z %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++1z -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix CXX1Z %s
>>>  //
>>> -// CXX1Z:#define __GNUG__ {{.*}}
>>> +// CXX1Z:#define __GNUG__ 4
>>>  // CXX1Z:#define __GXX_EXPERIMENTAL_CXX0X__ 1
>>>  // CXX1Z:#define __GXX_RTTI 1
>>>  // CXX1Z:#define __GXX_WEAK__ 1
>>> @@ -28,9 +28,9 @@
>>>  // CXX1Z:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix CXX1Y %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++1y -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix CXX1Y %s
>>>  //
>>> -// CXX1Y:#define __GNUG__ {{.*}}
>>> +// CXX1Y:#define __GNUG__ 4
>>>  // CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
>>>  // CXX1Y:#define __GXX_RTTI 1
>>>  // CXX1Y:#define __GXX_WEAK__ 1
>>> @@ -38,9 +38,9 @@
>>>  // CXX1Y:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix CXX11 %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++11 -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix CXX11 %s
>>>  //
>>> -// CXX11:#define __GNUG__ {{.*}}
>>> +// CXX11:#define __GNUG__ 4
>>>  // CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
>>>  // CXX11:#define __GXX_RTTI 1
>>>  // CXX11:#define __GXX_WEAK__ 1
>>> @@ -48,9 +48,9 @@
>>>  // CXX11:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix CXX98 %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++98 -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix CXX98 %s
>>>  //
>>> -// CXX98:#define __GNUG__ {{.*}}
>>> +// CXX98:#define __GNUG__ 4
>>>  // CXX98:#define __GXX_RTTI 1
>>>  // CXX98:#define __GXX_WEAK__ 1
>>>  // CXX98:#define __cplusplus 199711L
>>> @@ -87,7 +87,7 @@
>>>  // C11-NOT: __cplusplus
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -match-full-lines
>>> -check-prefix COMMON %s
>>> +// RUN: %clang_cc1 -fgnuc-version=4.2.1 -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix COMMON %s
>>>  //
>>>  // COMMON:#define __CONSTANT_CFSTRINGS__ 1
>>>  // COMMON:#define __FINITE_MATH_ONLY__ 0
>>> @@ -119,41 +119,41 @@
>>>  // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix FREESTANDING %s
>>>  // FREESTANDING:#define __STDC_HOSTED__ 0
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=gnu++2a -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix GXX2A %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++2a -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix GXX2A %s
>>>  //
>>> -// GXX2A:#define __GNUG__ {{.*}}
>>> +// GXX2A:#define __GNUG__ 4
>>>  // GXX2A:#define __GXX_WEAK__ 1
>>>  // GXX2A:#define __cplusplus 201707L
>>>  // GXX2A:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=gnu++1z -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix GXX1Z %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++1z -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix GXX1Z %s
>>>  //
>>> -// GXX1Z:#define __GNUG__ {{.*}}
>>> +// GXX1Z:#define __GNUG__ 4
>>>  // GXX1Z:#define __GXX_WEAK__ 1
>>>  // GXX1Z:#define __cplusplus 201703L
>>>  // GXX1Z:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix GXX1Y %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++1y -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix GXX1Y %s
>>>  //
>>> -// GXX1Y:#define __GNUG__ {{.*}}
>>> +// GXX1Y:#define __GNUG__ 4
>>>  // GXX1Y:#define __GXX_WEAK__ 1
>>>  // GXX1Y:#define __cplusplus 201402L
>>>  // GXX1Y:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix GXX11 %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++11 -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix GXX11 %s
>>>  //
>>> -// GXX11:#define __GNUG__ {{.*}}
>>> +// GXX11:#define __GNUG__ 4
>>>  // GXX11:#define __GXX_WEAK__ 1
>>>  // GXX11:#define __cplusplus 201103L
>>>  // GXX11:#define __private_extern__ extern
>>>  //
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck
>>> -match-full-lines -check-prefix GXX98 %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=gnu++98 -E -dM <
>>> /dev/null | FileCheck -match-full-lines -check-prefix GXX98 %s
>>>  //
>>> -// GXX98:#define __GNUG__ {{.*}}
>>> +// GXX98:#define __GNUG__ 4
>>>  // GXX98:#define __GXX_WEAK__ 1
>>>  // GXX98:#define __cplusplus 199711L
>>>  // GXX98:#define __private_extern__ extern
>>> @@ -2845,9 +2845,9 @@
>>>  // I386:#define __i386__ 1
>>>  // I386:#define i386 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu
>>> -target-cpu pentium4 < /dev/null | FileCheck -match-full-lines
>>> -check-prefix I386-LINUX -check-prefix I386-LINUX-ALIGN32 %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding
>>> -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-LINUX -check-prefix I386-LINUX-CXX
>>> -check-prefix I386-LINUX-ALIGN32 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu
>>> -target-cpu pentium4 -malign-double < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-LINUX -check-prefix I386-LINUX-ALIGN64
>>> %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-LINUX -check-prefix I386-LINUX-ALIGN32
>>> %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-LINUX -check-prefix I386-LINUX-CXX
>>> -check-prefix I386-LINUX-ALIGN32 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=i386-pc-linux-gnu -target-cpu pentium4 -malign-double < /dev/null |
>>> FileCheck -match-full-lines -check-prefix I386-LINUX -check-prefix
>>> I386-LINUX-ALIGN64 %s
>>>  //
>>>  // I386-LINUX-NOT:#define _LP64
>>>  // I386-LINUX:#define __BIGGEST_ALIGNMENT__ 16
>>> @@ -3047,9 +3047,9 @@
>>>  // I386-LINUX:#define __i386__ 1
>>>  // I386-LINUX:#define i386 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd
>>> -target-cpu i486 < /dev/null | FileCheck -match-full-lines -check-prefix
>>> I386-NETBSD %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=i386-netbsd
>>> -target-cpu i486 < /dev/null | FileCheck -match-full-lines -check-prefix
>>> I386-NETBSD -check-prefix I386-NETBSD-CXX %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd
>>> -target-cpu i486 -malign-double < /dev/null | FileCheck -match-full-lines
>>> -check-prefix I386-NETBSD %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=i386-netbsd -target-cpu i486 < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-NETBSD %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=i386-netbsd -target-cpu i486 < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-NETBSD -check-prefix I386-NETBSD-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=i386-netbsd -target-cpu i486 -malign-double < /dev/null | FileCheck
>>> -match-full-lines -check-prefix I386-NETBSD %s
>>>  //
>>>  //
>>>  // I386-NETBSD-NOT:#define _LP64
>>> @@ -3263,8 +3263,8 @@
>>>  // I386-DECLSPEC: #define __declspec{{.*}}
>>>
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none <
>>> /dev/null | FileCheck -match-full-lines -check-prefix MIPS32BE
>>> -check-prefix MIPS32BE-C %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=mips-none-none
>>> < /dev/null | FileCheck -match-full-lines -check-prefix MIPS32BE
>>> -check-prefix MIPS32BE-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=mips-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix MIPS32BE -check-prefix MIPS32BE-C %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=mips-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix MIPS32BE -check-prefix MIPS32BE-CXX %s
>>>  //
>>>  // MIPS32BE:#define MIPSEB 1
>>>  // MIPS32BE:#define _ABIO32 1
>>> @@ -3682,10 +3682,10 @@
>>>  // MIPS32EL:#define _mips 1
>>>  // MIPS32EL:#define mips 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 \
>>>  // RUN:            -triple=mips64-none-none -target-abi n32 < /dev/null
>>> \
>>>  // RUN:   | FileCheck -match-full-lines -check-prefix MIPSN32BE
>>> -check-prefix MIPSN32BE-C %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding \
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 \
>>>  // RUN:            -triple=mips64-none-none -target-abi n32 < /dev/null
>>> \
>>>  // RUN:   | FileCheck -match-full-lines -check-prefix MIPSN32BE
>>> -check-prefix MIPSN32BE-CXX %s
>>>  //
>>> @@ -3993,7 +3993,7 @@
>>>  // MIPSN32BE: #define _mips 1
>>>  // MIPSN32BE: #define mips 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 \
>>>  // RUN:            -triple=mips64el-none-none -target-abi n32 <
>>> /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines -check-prefix MIPSN32EL %s
>>>  //
>>> @@ -4300,8 +4300,8 @@
>>>  // MIPSN32EL: #define _mips 1
>>>  // MIPSN32EL: #define mips 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none <
>>> /dev/null | FileCheck -match-full-lines -check-prefix MIPS64BE %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding
>>> -triple=mips64-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix MIPS64BE -check-prefix MIPS64BE-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=mips64-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix MIPS64BE %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=mips64-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix MIPS64BE -check-prefix MIPS64BE-CXX %s
>>>  //
>>>  // MIPS64BE:#define MIPSEB 1
>>>  // MIPS64BE:#define _ABI64 3
>>> @@ -6838,13 +6838,13 @@
>>>  // PPC64-LINUX:#define __ppc64__ 1
>>>  // PPC64-LINUX:#define __ppc__ 1
>>>
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64-unknown-linux-gnu < /dev/null | FileCheck
>>> -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64-unknown-linux-gnu -target-abi elfv1 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64-unknown-linux-gnu -target-abi elfv1-qpx < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64-unknown-linux-gnu -target-abi elfv2 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64le-unknown-linux-gnu < /dev/null | FileCheck
>>> -match-full-lines -check-prefix PPC64-ELFv2 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64-unknown-linux-gnu < /dev/null | FileCheck
>>> -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64-unknown-linux-gnu -target-abi elfv1 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64-unknown-linux-gnu -target-abi elfv1-qpx < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64-unknown-linux-gnu -target-abi elfv2 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64le-unknown-linux-gnu < /dev/null | FileCheck
>>> -match-full-lines -check-prefix PPC64-ELFv2 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null |
>>> FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
>>>  // PPC64-ELFv1:#define _CALL_ELF 1
>>>  // PPC64-ELFv2:#define _CALL_ELF 2
>>>  //
>>> @@ -7980,12 +7980,12 @@
>>>  // S390X:#define __s390__ 1
>>>  // S390X:#define __s390x__ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none <
>>> /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix
>>> SPARC-DEFAULT %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-rtems-elf <
>>> /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix
>>> SPARC-DEFAULT %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-netbsd <
>>> /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix
>>> SPARC-NETOPENBSD %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-openbsd <
>>> /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix
>>> SPARC-NETOPENBSD %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=sparc-none-none
>>> < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix
>>> SPARC-DEFAULT -check-prefix SPARC-DEFAULT-CXX %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding
>>> -triple=sparc-none-openbsd < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-NETOPENBSD -check-prefix
>>> SPARC-NETOPENBSD-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=sparc-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-DEFAULT %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=sparc-rtems-elf < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-DEFAULT %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=sparc-none-netbsd < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-NETOPENBSD %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=sparc-none-openbsd < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-NETOPENBSD %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=sparc-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-DEFAULT -check-prefix
>>> SPARC-DEFAULT-CXX %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=sparc-none-openbsd < /dev/null | FileCheck -match-full-lines
>>> -check-prefix SPARC -check-prefix SPARC-NETOPENBSD -check-prefix
>>> SPARC-NETOPENBSD-CXX %s
>>>  //
>>>  // SPARC-NOT:#define _LP64
>>>  // SPARC:#define __BIGGEST_ALIGNMENT__ 8
>>> @@ -8185,8 +8185,8 @@
>>>  // SPARC:#define __sparcv8 1
>>>  // SPARC:#define sparc 1
>>>
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none <
>>> /dev/null | FileCheck -match-full-lines -check-prefix TCE %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=tce-none-none <
>>> /dev/null | FileCheck -match-full-lines -check-prefix TCE -check-prefix
>>> TCE-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=tce-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix TCE %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=tce-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix TCE -check-prefix TCE-CXX %s
>>>  //
>>>  // TCE-NOT:#define _LP64
>>>  // TCE:#define __BIGGEST_ALIGNMENT__ 4
>>> @@ -8354,8 +8354,8 @@
>>>  // TCE:#define __tce__ 1
>>>  // TCE:#define tce 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none <
>>> /dev/null | FileCheck -match-full-lines -check-prefix X86_64 %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding
>>> -triple=x86_64-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64 -check-prefix X86_64-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64 %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-none-none < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64 -check-prefix X86_64-CXX %s
>>>  //
>>>  // X86_64:#define _LP64 1
>>>  // X86_64-NOT:#define _LP32 1
>>> @@ -8562,8 +8562,8 @@
>>>  // RUN: %clang -xc - -E -dM -mcmodel=medium --target=i386-unknown-linux
>>> < /dev/null | FileCheck -match-full-lines -check-prefix X86_MEDIUM %s
>>>  // X86_MEDIUM:#define __code_model_medium_ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=x86_64-none-none-gnux32 < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X32 %s
>>> -// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding
>>> -triple=x86_64-none-none-gnux32 < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X32 -check-prefix X32-CXX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-none-none-gnux32 < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X32 %s
>>> +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-none-none-gnux32 < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X32 -check-prefix X32-CXX %s
>>>  //
>>>  // X32:#define _ILP32 1
>>>  // X32-NOT:#define _LP64 1
>>> @@ -8759,7 +8759,7 @@
>>>  // X32:#define __x86_64 1
>>>  // X32:#define __x86_64__ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding
>>> -triple=x86_64-unknown-cloudabi < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64-CLOUDABI %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-unknown-cloudabi < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64-CLOUDABI %s
>>>  //
>>>  // X86_64-CLOUDABI:#define _LP64 1
>>>  // X86_64-CLOUDABI:#define __ATOMIC_ACQUIRE 2
>>> @@ -9064,7 +9064,7 @@
>>>  // X86_64-CLOUDABI:#define __x86_64 1
>>>  // X86_64-CLOUDABI:#define __x86_64__ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu <
>>> /dev/null | FileCheck -match-full-lines -check-prefix X86_64-LINUX %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64-LINUX %s
>>>  //
>>>  // X86_64-LINUX:#define _LP64 1
>>>  // X86_64-LINUX:#define __BIGGEST_ALIGNMENT__ 16
>>> @@ -9277,7 +9277,7 @@
>>>  // X86_64-FREEBSD:#define __LDBL_DECIMAL_DIG__ 21
>>>  // X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd <
>>> /dev/null | FileCheck -match-full-lines -check-prefix X86_64-NETBSD %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-netbsd < /dev/null | FileCheck -match-full-lines
>>> -check-prefix X86_64-NETBSD %s
>>>  //
>>>  // X86_64-NETBSD:#define _LP64 1
>>>  // X86_64-NETBSD:#define __BIGGEST_ALIGNMENT__ 16
>>> @@ -9481,7 +9481,7 @@
>>>  // X86_64-NETBSD:#define __x86_64 1
>>>  // X86_64-NETBSD:#define __x86_64__ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-scei-ps4 <
>>> /dev/null | FileCheck -match-full-lines -check-prefix PS4 %s
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=x86_64-scei-ps4 < /dev/null | FileCheck -match-full-lines
>>> -check-prefix PS4 %s
>>>  //
>>>  // PS4:#define _LP64 1
>>>  // PS4:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
>>> @@ -9641,7 +9641,7 @@
>>>  // RUN: %clang_cc1 -x objective-c -triple i386-unknown-freebsd
>>> -fobjc-runtime=gnustep-2.5 -E -dM < /dev/null | FileCheck -match-full-lines
>>> -check-prefix GNUSTEP2 %s
>>>  // GNUSTEP2:#define __OBJC_GNUSTEP_RUNTIME_ABI__ 20
>>>  //
>>> -// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null |
>>> FileCheck -match-full-lines -check-prefix NORTTI %s
>>> +// RUN: %clang_cc1 -x c++ -fgnuc-version=4.2.1 -std=c++98 -fno-rtti -E
>>> -dM < /dev/null | FileCheck -match-full-lines -check-prefix NORTTI %s
>>>  // NORTTI: #define __GXX_ABI_VERSION {{.*}}
>>>  // NORTTI-NOT:#define __GXX_RTTI
>>>  // NORTTI:#define __STDC__ 1
>>> @@ -9700,16 +9700,16 @@
>>>  // XCORE:#define __LITTLE_ENDIAN__ 1
>>>  // XCORE:#define __XS1B__ 1
>>>  //
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=wasm32-unknown-unknown
>>> \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=wasm32-unknown-unknown \
>>>  // RUN:   < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines
>>> -check-prefixes=WEBASSEMBLY,WEBASSEMBLY32 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=wasm64-unknown-unknown
>>> \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=wasm64-unknown-unknown \
>>>  // RUN:   < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines
>>> -check-prefixes=WEBASSEMBLY,WEBASSEMBLY64 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=wasm32-wasi \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=wasm32-wasi \
>>>  // RUN:   < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines
>>> -check-prefixes=WEBASSEMBLY,WEBASSEMBLY32,WEBASSEMBLY-WASI %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=wasm64-wasi \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=wasm64-wasi \
>>>  // RUN:   < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines
>>> -check-prefixes=WEBASSEMBLY,WEBASSEMBLY64,WEBASSEMBLY-WASI %s
>>>  //
>>> @@ -10087,7 +10087,7 @@
>>>  // RUN: %clang_cc1 -E -dM -ffreestanding -triple x86_64-windows-cygnus
>>> < /dev/null | FileCheck -match-full-lines -check-prefix CYGWIN-X64 %s
>>>  // CYGWIN-X64: #define __USER_LABEL_PREFIX__
>>>
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=avr \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=avr \
>>>  // RUN:   < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines -check-prefix=AVR %s
>>>  //
>>> @@ -10295,10 +10295,10 @@
>>>  // MSVC-X64:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16ULL
>>>
>>>  // RUN: %clang_cc1 -E -dM -ffreestanding                \
>>> -// RUN:   -triple=aarch64-apple-ios9 < /dev/null        \
>>> +// RUN:  -fgnuc-version=4.2.1  -triple=aarch64-apple-ios9 < /dev/null
>>>       \
>>>  // RUN: | FileCheck -check-prefix=DARWIN %s
>>>  // RUN: %clang_cc1 -E -dM -ffreestanding                \
>>> -// RUN:   -triple=aarch64-apple-macosx10.12 < /dev/null \
>>> +// RUN:   -fgnuc-version=4.2.1 -triple=aarch64-apple-macosx10.12 <
>>> /dev/null \
>>>  // RUN: | FileCheck -check-prefix=DARWIN %s
>>>
>>>  // DARWIN:#define __STDC_NO_THREADS__ 1
>>> @@ -10364,11 +10364,11 @@
>>>  // ARM-DARWIN-BAREMETAL-64: #define __PTRDIFF_TYPE__ long int
>>>  // ARM-DARWIN-BAREMETAL-64: #define __SIZE_TYPE__ long unsigned int
>>>
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv32 < /dev/null \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=riscv32 < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines -check-prefix=RISCV32 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv32-unknown-linux
>>> < /dev/null \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=riscv32-unknown-linux < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines
>>> -check-prefixes=RISCV32,RISCV32-LINUX %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv32 \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=riscv32 \
>>>  // RUN: -fforce-enable-int128 < /dev/null | FileCheck -match-full-lines
>>> \
>>>  // RUN: -check-prefixes=RISCV32,RISCV32-INT128 %s
>>>  // RISCV32: #define _ILP32 1
>>> @@ -10575,9 +10575,9 @@
>>>  // RISCV32-LINUX: #define linux 1
>>>  // RISCV32-LINUX: #define unix 1
>>>
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv64 < /dev/null \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=riscv64 < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines -check-prefix=RISCV64 %s
>>> -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv64-unknown-linux
>>> < /dev/null \
>>> +// RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1
>>> -triple=riscv64-unknown-linux < /dev/null \
>>>  // RUN:   | FileCheck -match-full-lines
>>> -check-prefixes=RISCV64,RISCV64-LINUX %s
>>>  // RISCV64: #define _LP64 1
>>>  // RISCV64: #define __ATOMIC_ACQUIRE 2
>>>
>>> Modified: cfe/trunk/test/Sema/atomic-ops.c
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/atomic-ops.c?rev=374449&r1=374448&r2=374449&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/test/Sema/atomic-ops.c (original)
>>> +++ cfe/trunk/test/Sema/atomic-ops.c Thu Oct 10 14:04:25 2019
>>> @@ -1,4 +1,4 @@
>>> -// RUN: %clang_cc1 %s -verify -ffreestanding -fsyntax-only
>>> -triple=i686-linux-gnu -std=c11
>>> +// RUN: %clang_cc1 %s -verify -fgnuc-version=4.2.1 -ffreestanding
>>> -fsyntax-only -triple=i686-linux-gnu -std=c11
>>>
>>>  // Basic parsing/Sema tests for __c11_atomic_*
>>>
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at lists.llvm.org
>>> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>>
>> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191011/4c4e8a3b/attachment-0001.html>


More information about the cfe-commits mailing list