r238238 - __declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed May 27 09:27:10 PDT 2015


Maybe this broke cygwin:

http://bb.pgr.jp/builders/clang-3stage-i686-cygwin/builds/1060/steps/make_quick/logs/stdio

On 26 May 2015 at 15:44, Aaron Ballman <aaron at aaronballman.com> wrote:
> Author: aaronballman
> Date: Tue May 26 14:44:52 2015
> New Revision: 238238
>
> URL: http://llvm.org/viewvc/llvm-project?rev=238238&view=rev
> Log:
> __declspec is not a core Clang language extension. Instead, require -fms-extensions or -fborland to enable the language extension.
>
> Note: __declspec is also temporarily enabled when compiling for a CUDA target because there are implementation details relying on __declspec(property) support currently. When those details change, __declspec should be disabled for CUDA targets.
>
> Modified:
>     cfe/trunk/docs/ReleaseNotes.rst
>     cfe/trunk/include/clang/Basic/TokenKinds.def
>     cfe/trunk/include/clang/Parse/Parser.h
>     cfe/trunk/lib/Basic/IdentifierTable.cpp
>     cfe/trunk/lib/Parse/ParseDecl.cpp
>     cfe/trunk/test/CodeGen/dllexport.c
>     cfe/trunk/test/CodeGen/dllimport.c
>     cfe/trunk/test/CodeGen/ms-volatile.c
>     cfe/trunk/test/CodeGen/windows-on-arm-dllimport-dllexport.c
>     cfe/trunk/test/CodeGen/windows-on-arm-stack-probe-size.c
>     cfe/trunk/test/CodeGenCXX/PR19955.cpp
>     cfe/trunk/test/CodeGenCXX/dllexport.cpp
>     cfe/trunk/test/CodeGenCXX/dllimport-rtti.cpp
>     cfe/trunk/test/CodeGenCXX/dllimport.cpp
>     cfe/trunk/test/CodeGenCXX/microsoft-abi-vftables.cpp
>     cfe/trunk/test/CodeGenCXX/pr20897.cpp
>     cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp
>     cfe/trunk/test/Layout/ms-x86-aligned-tail-padding.cpp
>     cfe/trunk/test/Layout/ms-x86-basic-layout.cpp
>     cfe/trunk/test/Layout/ms-x86-empty-layout.c
>     cfe/trunk/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
>     cfe/trunk/test/Layout/ms-x86-empty-virtual-base.cpp
>     cfe/trunk/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
>     cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp
>     cfe/trunk/test/Layout/ms-x86-size-alignment-fail.cpp
>     cfe/trunk/test/Layout/ms-x86-vfvb-alignment.cpp
>     cfe/trunk/test/Layout/ms-x86-vfvb-sharing.cpp
>     cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp
>     cfe/trunk/test/Rewriter/missing-dllimport.c
>     cfe/trunk/test/Sema/dllexport.c
>     cfe/trunk/test/Sema/dllimport.c
>     cfe/trunk/test/Sema/ms-inline-asm.c
>     cfe/trunk/test/Sema/pragma-ms_struct.c
>     cfe/trunk/test/SemaCXX/dllexport-pr22591.cpp
>     cfe/trunk/test/SemaCXX/dllexport.cpp
>     cfe/trunk/test/SemaCXX/dllimport.cpp
>     cfe/trunk/test/SemaCXX/generalized-deprecated.cpp
>
> Modified: cfe/trunk/docs/ReleaseNotes.rst
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/docs/ReleaseNotes.rst (original)
> +++ cfe/trunk/docs/ReleaseNotes.rst Tue May 26 14:44:52 2015
> @@ -47,7 +47,10 @@ sections with improvements to Clang's su
>  Major New Features
>  ------------------
>
> -- Feature ...
> +- Use of the ``__declspec`` language extension for declaration attributes now
> +requires passing the -fms-extensions or -fborland compiler flag. This language
> +extension is also enabled when compiling CUDA code, but its use should be
> +viewed as an implementation detail that is subject to change.
>
>
>  Improvements to Clang's diagnostics
>
> Modified: cfe/trunk/include/clang/Basic/TokenKinds.def
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TokenKinds.def?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/TokenKinds.def (original)
> +++ cfe/trunk/include/clang/Basic/TokenKinds.def Tue May 26 14:44:52 2015
> @@ -458,7 +458,7 @@ KEYWORD(__private_extern__          , KE
>  KEYWORD(__module_private__          , KEYALL)
>
>  // Microsoft Extension.
> -KEYWORD(__declspec                  , KEYALL)
> +KEYWORD(__declspec                  , KEYMS|KEYBORLAND)
>  KEYWORD(__cdecl                     , KEYALL)
>  KEYWORD(__stdcall                   , KEYALL)
>  KEYWORD(__fastcall                  , KEYALL)
>
> Modified: cfe/trunk/include/clang/Parse/Parser.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Parser.h?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Parse/Parser.h (original)
> +++ cfe/trunk/include/clang/Parse/Parser.h Tue May 26 14:44:52 2015
> @@ -2089,10 +2089,9 @@ private:
>                                  SourceLocation *endLoc = nullptr);
>    void MaybeParseMicrosoftDeclSpecs(ParsedAttributes &Attrs,
>                                      SourceLocation *End = nullptr) {
> -    // TODO: the __declspec keyword is parsed as a keyword for all languages,
> -    // but this is a Microsoft extension. Investigate whether this should be
> -    // protected by MicrosoftExt or not.
> -    if (Tok.is(tok::kw___declspec))
> +    const auto &LO = getLangOpts();
> +    if ((LO.MicrosoftExt || LO.Borland || LO.CUDA) &&
> +        Tok.is(tok::kw___declspec))
>        ParseMicrosoftDeclSpecs(Attrs, End);
>    }
>    void ParseMicrosoftDeclSpecs(ParsedAttributes &Attrs,
>
> Modified: cfe/trunk/lib/Basic/IdentifierTable.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/IdentifierTable.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/IdentifierTable.cpp (original)
> +++ cfe/trunk/lib/Basic/IdentifierTable.cpp Tue May 26 14:44:52 2015
> @@ -215,6 +215,12 @@ void IdentifierTable::AddKeywords(const
>    if (LangOpts.ParseUnknownAnytype)
>      AddKeyword("__unknown_anytype", tok::kw___unknown_anytype, KEYALL,
>                 LangOpts, *this);
> +
> +  // FIXME: __declspec isn't really a CUDA extension, however it is required for
> +  // supporting cuda_builtin_vars.h, which uses __declspec(property). Once that
> +  // has been rewritten in terms of something more generic, remove this code.
> +  if (LangOpts.CUDA)
> +    AddKeyword("__declspec", tok::kw___declspec, KEYALL, LangOpts, *this);
>  }
>
>  /// \brief Checks if the specified token kind represents a keyword in the
>
> Modified: cfe/trunk/lib/Parse/ParseDecl.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDecl.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Parse/ParseDecl.cpp (original)
> +++ cfe/trunk/lib/Parse/ParseDecl.cpp Tue May 26 14:44:52 2015
> @@ -531,6 +531,9 @@ bool Parser::ParseMicrosoftDeclSpecArgs(
>  ///             extended-decl-modifier extended-decl-modifier-seq
>  void Parser::ParseMicrosoftDeclSpecs(ParsedAttributes &Attrs,
>                                       SourceLocation *End) {
> +  assert((getLangOpts().MicrosoftExt || getLangOpts().Borland ||
> +          getLangOpts().CUDA) &&
> +         "Incorrect language options for parsing __declspec");
>    assert(Tok.is(tok::kw___declspec) && "Not a declspec!");
>
>    while (Tok.is(tok::kw___declspec)) {
>
> Modified: cfe/trunk/test/CodeGen/dllexport.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/dllexport.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/dllexport.c (original)
> +++ cfe/trunk/test/CodeGen/dllexport.c Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> -// RUN: %clang_cc1 -triple x86_64-windows-msvc -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> -// RUN: %clang_cc1 -triple x86_64-windows-gnu  -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> +// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
> +// RUN: %clang_cc1 -triple x86_64-windows-gnu  -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck %s
>
>
>
>
> Modified: cfe/trunk/test/CodeGen/dllimport.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/dllimport.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/dllimport.c (original)
> +++ cfe/trunk/test/CodeGen/dllimport.c Tue May 26 14:44:52 2015
> @@ -1,9 +1,9 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=MS %s
> -// RUN: %clang_cc1 -triple x86_64-windows-msvc -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=MS %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=GNU %s
> -// RUN: %clang_cc1 -triple x86_64-windows-gnu  -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=GNU %s
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -emit-llvm -std=c11 -O1 -o - %s | FileCheck --check-prefix=O1 --check-prefix=MO1 %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -emit-llvm -std=c11 -O1 -o - %s | FileCheck --check-prefix=O1 --check-prefix=GO1 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=MS %s
> +// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=MS %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=GNU %s
> +// RUN: %clang_cc1 -triple x86_64-windows-gnu  -fms-extensions -emit-llvm -std=c11 -O0 -o - %s | FileCheck --check-prefix=CHECK --check-prefix=GNU %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fms-extensions -emit-llvm -std=c11 -O1 -o - %s | FileCheck --check-prefix=O1 --check-prefix=MO1 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -fms-extensions -emit-llvm -std=c11 -O1 -o - %s | FileCheck --check-prefix=O1 --check-prefix=GO1 %s
>
>  #define JOIN2(x, y) x##y
>  #define JOIN(x, y) JOIN2(x, y)
>
> Modified: cfe/trunk/test/CodeGen/ms-volatile.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ms-volatile.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/ms-volatile.c (original)
> +++ cfe/trunk/test/CodeGen/ms-volatile.c Tue May 26 14:44:52 2015
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -triple i386-pc-win32 -emit-llvm -fms-volatile -o - < %s | FileCheck %s
> +// RUN: %clang_cc1 -triple i386-pc-win32 -fms-extensions -emit-llvm -fms-volatile -o - < %s | FileCheck %s
>  struct foo {
>    volatile int x;
>  };
>
> Modified: cfe/trunk/test/CodeGen/windows-on-arm-dllimport-dllexport.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/windows-on-arm-dllimport-dllexport.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/windows-on-arm-dllimport-dllexport.c (original)
> +++ cfe/trunk/test/CodeGen/windows-on-arm-dllimport-dllexport.c Tue May 26 14:44:52 2015
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -Werror -triple thumbv7-windows-itanium -mfloat-abi hard -emit-llvm %s -o - | FileCheck %s
> +// RUN: %clang_cc1 -Werror -triple thumbv7-windows-itanium -mfloat-abi hard -fms-extensions -emit-llvm %s -o - | FileCheck %s
>
>  __declspec(dllexport) int export_int;
>
>
> Modified: cfe/trunk/test/CodeGen/windows-on-arm-stack-probe-size.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/windows-on-arm-stack-probe-size.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGen/windows-on-arm-stack-probe-size.c (original)
> +++ cfe/trunk/test/CodeGen/windows-on-arm-stack-probe-size.c Tue May 26 14:44:52 2015
> @@ -1,10 +1,10 @@
> -// RUN: %clang_cc1 -triple thumbv7-windows-itanium -mstack-probe-size=8096 -O2 -emit-llvm %s -o - \
> +// RUN: %clang_cc1 -triple thumbv7-windows-itanium -mstack-probe-size=8096 -fms-extensions -O2 -emit-llvm %s -o - \
>  // RUN:     | FileCheck %s -check-prefix CHECK-8096
>
> -// RUN: %clang_cc1 -triple thumbv7-windows-itanium -mstack-probe-size=4096 -O2 -emit-llvm %s -o - \
> +// RUN: %clang_cc1 -triple thumbv7-windows-itanium -mstack-probe-size=4096 -fms-extensions -O2 -emit-llvm %s -o - \
>  // RUN:     | FileCheck %s -check-prefix CHECK-4096
>
> -// RUN: %clang_cc1 -triple thumbv7-windows-itanium -O2 -emit-llvm %s -o - \
> +// RUN: %clang_cc1 -triple thumbv7-windows-itanium -fms-extensions -O2 -emit-llvm %s -o - \
>  // RUN:     | FileCheck %s -check-prefix CHECK
>
>  __declspec(dllimport) void initialise(signed char buffer[4096]);
>
> Modified: cfe/trunk/test/CodeGenCXX/PR19955.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/PR19955.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/PR19955.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/PR19955.cpp Tue May 26 14:44:52 2015
> @@ -1,5 +1,5 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc -fno-rtti -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s
> -// RUN: %clang_cc1 -triple x86_64-windows-msvc -fno-rtti -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s --check-prefix X64
> +// RUN: %clang_cc1 -triple i686-windows-msvc -fms-extensions -fno-rtti -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s
> +// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-extensions -fno-rtti -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s --check-prefix X64
>
>  extern int __declspec(dllimport) var;
>  extern void __declspec(dllimport) fun();
>
> Modified: cfe/trunk/test/CodeGenCXX/dllexport.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/dllexport.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/dllexport.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/dllexport.cpp Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -emit-llvm -std=c++1y -fno-threadsafe-statics -O1 -mconstructor-aliases -disable-llvm-optzns -o - %s -w | FileCheck --check-prefix=MSC --check-prefix=M32 %s
> -// RUN: %clang_cc1 -triple x86_64-windows-msvc -emit-llvm -std=c++1y -fno-threadsafe-statics -O0 -o - %s -w | FileCheck --check-prefix=MSC --check-prefix=M64 %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -emit-llvm -std=c++1y -fno-threadsafe-statics -O0 -o - %s -w | FileCheck --check-prefix=GNU --check-prefix=G32 %s
> -// RUN: %clang_cc1 -triple x86_64-windows-gnu  -emit-llvm -std=c++1y -fno-threadsafe-statics -O0 -o - %s -w | FileCheck --check-prefix=GNU --check-prefix=G64 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -emit-llvm -std=c++1y -fno-threadsafe-statics -fms-extensions -O1 -mconstructor-aliases -disable-llvm-optzns -o - %s -w | FileCheck --check-prefix=MSC --check-prefix=M32 %s
> +// RUN: %clang_cc1 -triple x86_64-windows-msvc -emit-llvm -std=c++1y -fno-threadsafe-statics -fms-extensions -O0 -o - %s -w | FileCheck --check-prefix=MSC --check-prefix=M64 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -emit-llvm -std=c++1y -fno-threadsafe-statics -fms-extensions -O0 -o - %s -w | FileCheck --check-prefix=GNU --check-prefix=G32 %s
> +// RUN: %clang_cc1 -triple x86_64-windows-gnu  -emit-llvm -std=c++1y -fno-threadsafe-statics -fms-extensions -O0 -o - %s -w | FileCheck --check-prefix=GNU --check-prefix=G64 %s
>
>  // Helper structs to make templates more expressive.
>  struct ImplicitInst_Exported {};
>
> Modified: cfe/trunk/test/CodeGenCXX/dllimport-rtti.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/dllimport-rtti.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/dllimport-rtti.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/dllimport-rtti.cpp Tue May 26 14:44:52 2015
> @@ -1,5 +1,5 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc -emit-llvm -std=c++1y -O1 -disable-llvm-optzns -o - %s | FileCheck %s --check-prefix=MSVC
> -// RUN: %clang_cc1 -triple i686-windows-gnu  -emit-llvm -std=c++1y -O1 -disable-llvm-optzns -o - %s | FileCheck %s --check-prefix=GNU
> +// RUN: %clang_cc1 -triple i686-windows-msvc -emit-llvm -std=c++1y -fms-extensions -O1 -disable-llvm-optzns -o - %s | FileCheck %s --check-prefix=MSVC
> +// RUN: %clang_cc1 -triple i686-windows-gnu  -emit-llvm -std=c++1y -fms-extensions -O1 -disable-llvm-optzns -o - %s | FileCheck %s --check-prefix=GNU
>
>  struct __declspec(dllimport) S {
>    virtual void f() {}
>
> Modified: cfe/trunk/test/CodeGenCXX/dllimport.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/dllimport.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/dllimport.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/dllimport.cpp Tue May 26 14:44:52 2015
> @@ -1,14 +1,14 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC --check-prefix=M32 %s
> -// RUN: %clang_cc1 -triple x86_64-windows-msvc -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC --check-prefix=M64 %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O0 -o - %s         -w | FileCheck --check-prefix=GNU --check-prefix=G32 %s
> -// RUN: %clang_cc1 -triple x86_64-windows-gnu  -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O0 -o - %s         -w | FileCheck --check-prefix=GNU --check-prefix=G64 %s
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -fms-compatibility-version=18.00 -emit-llvm -std=c++1y -O1 -o - %s -DMSABI -w | FileCheck --check-prefix=MO1 --check-prefix=M18 %s
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -fms-compatibility-version=19.00 -emit-llvm -std=c++1y -O1 -o - %s -DMSABI -w | FileCheck --check-prefix=MO1 --check-prefix=M19 %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O1 -o - %s         -w | FileCheck --check-prefix=GO1 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC --check-prefix=M32 %s
> +// RUN: %clang_cc1 -triple x86_64-windows-msvc -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC --check-prefix=M64 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s         -w | FileCheck --check-prefix=GNU --check-prefix=G32 %s
> +// RUN: %clang_cc1 -triple x86_64-windows-gnu  -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s         -w | FileCheck --check-prefix=GNU --check-prefix=G64 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -fms-extensions -fms-compatibility-version=18.00 -emit-llvm -std=c++1y -O1 -o - %s -DMSABI -w | FileCheck --check-prefix=MO1 --check-prefix=M18 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -fms-extensions -fms-compatibility-version=19.00 -emit-llvm -std=c++1y -O1 -o - %s -DMSABI -w | FileCheck --check-prefix=MO1 --check-prefix=M19 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O1 -o - %s         -w | FileCheck --check-prefix=GO1 %s
>
>  // CHECK-NOT doesn't play nice with CHECK-DAG, so use separate run lines.
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC2 %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu    -fno-rtti -fno-threadsafe-statics -emit-llvm -std=c++1y -O0 -o - %s         -w | FileCheck --check-prefix=GNU2 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc   -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s -DMSABI -w | FileCheck --check-prefix=MSC2 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu    -fno-rtti -fno-threadsafe-statics -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s         -w | FileCheck --check-prefix=GNU2 %s
>
>  // Helper structs to make templates more expressive.
>  struct ImplicitInst_Imported {};
>
> Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-vftables.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/microsoft-abi-vftables.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/microsoft-abi-vftables.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/microsoft-abi-vftables.cpp Tue May 26 14:44:52 2015
> @@ -1,5 +1,5 @@
> -// RUN: %clang_cc1 %s -fno-rtti -triple=i386-pc-win32 -emit-llvm -o - -O1 -disable-llvm-optzns | FileCheck %s -check-prefix=NO-RTTI
> -// RUN: %clang_cc1 %s -triple=i386-pc-win32 -emit-llvm -o - -O1 -disable-llvm-optzns | FileCheck %s -check-prefix=RTTI
> +// RUN: %clang_cc1 %s -fno-rtti -triple=i386-pc-win32 -fms-extensions -emit-llvm -o - -O1 -disable-llvm-optzns | FileCheck %s -check-prefix=NO-RTTI
> +// RUN: %clang_cc1 %s -triple=i386-pc-win32 -fms-extensions -emit-llvm -o - -O1 -disable-llvm-optzns | FileCheck %s -check-prefix=RTTI
>
>  // RTTI-DAG: $"\01??_7S@@6B@" = comdat largest
>  // RTTI-DAG: $"\01??_7V@@6B@" = comdat largest
>
> Modified: cfe/trunk/test/CodeGenCXX/pr20897.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/pr20897.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/CodeGenCXX/pr20897.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/pr20897.cpp Tue May 26 14:44:52 2015
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -triple i686-windows-msvc   -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc -fms-extensions -emit-llvm -std=c++1y -O0 -o - %s | FileCheck %s
>  struct Base {};
>
>  // __declspec(dllexport) causes us to export the implicit constructor.
>
> Modified: cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-alias-avoidance-padding.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-aligned-tail-padding.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-aligned-tail-padding.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-aligned-tail-padding.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-aligned-tail-padding.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-basic-layout.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-basic-layout.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-basic-layout.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-basic-layout.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-empty-layout.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-empty-layout.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-empty-layout.c (original)
> +++ cfe/trunk/test/Layout/ms-x86-empty-layout.c Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
>
>  struct EmptyIntMemb {
>
> Modified: cfe/trunk/test/Layout/ms-x86-empty-nonvirtual-bases.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-empty-nonvirtual-bases.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-empty-nonvirtual-bases.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-empty-nonvirtual-bases.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-empty-virtual-base.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-empty-virtual-base.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-empty-virtual-base.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-empty-virtual-base.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-lazy-empty-nonvirtual-base.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-pack-and-align.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only -Wno-inaccessible-base %s 2>&1 \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only -Wno-inaccessible-base %s 2>&1 \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only -Wno-inaccessible-base %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only -Wno-inaccessible-base %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-size-alignment-fail.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-size-alignment-fail.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-size-alignment-fail.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-size-alignment-fail.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts %s 2>/dev/null \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-vfvb-alignment.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-vfvb-alignment.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-vfvb-alignment.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-vfvb-alignment.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>&1 \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Layout/ms-x86-vfvb-sharing.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Layout/ms-x86-vfvb-sharing.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Layout/ms-x86-vfvb-sharing.cpp (original)
> +++ cfe/trunk/test/Layout/ms-x86-vfvb-sharing.cpp Tue May 26 14:44:52 2015
> @@ -1,6 +1,6 @@
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>&1 \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>&1 \
>  // RUN:            | FileCheck %s
> -// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
> +// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
>  // RUN:            | FileCheck %s -check-prefix CHECK-X64
>
>  extern "C" int printf(const char *fmt, ...);
>
> Modified: cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp (original)
> +++ cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp Tue May 26 14:44:52 2015
> @@ -160,7 +160,6 @@ namespace Operators {
>  namespace ElaboratedTypeSpecifiers {
>    struct S {
>      int f(int x = T<a, struct S>());
> -    int g(int x = T<a, class __declspec() C>());
>      int h(int x = T<a, union __attribute__(()) U>());
>      int i(int x = T<a, enum E>());
>      int j(int x = T<a, struct S::template T<0, enum E>>());
>
> Modified: cfe/trunk/test/Rewriter/missing-dllimport.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Rewriter/missing-dllimport.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Rewriter/missing-dllimport.c (original)
> +++ cfe/trunk/test/Rewriter/missing-dllimport.c Tue May 26 14:44:52 2015
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -triple i686-pc-win32 -verify %s
> +// RUN: %clang_cc1 -triple i686-pc-win32 -fms-extensions -verify %s
>
>  // Do not report that 'foo()' is redeclared without dllimport attribute.
>  // specified.  Addresses <rdar://problem/7653912>.
>
> Modified: cfe/trunk/test/Sema/dllexport.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/dllexport.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Sema/dllexport.c (original)
> +++ cfe/trunk/test/Sema/dllexport.c Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -verify -std=c99 %s
> -// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -verify -std=c11 %s
> -// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -verify -std=c11 %s
> -// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -verify -std=c99 %s
> +// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -fms-extensions -verify -std=c99 %s
> +// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -fms-extensions -verify -std=c11 %s
> +// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -fms-extensions -verify -std=c11 %s
> +// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -fms-extensions -verify -std=c99 %s
>
>  // Invalid usage.
>  __declspec(dllexport) typedef int typedef1; // expected-warning{{'dllexport' attribute only applies to variables and functions}}
>
> Modified: cfe/trunk/test/Sema/dllimport.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/dllimport.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Sema/dllimport.c (original)
> +++ cfe/trunk/test/Sema/dllimport.c Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -verify -std=c99 -DMS %s
> -// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -verify -std=c11 -DMS %s
> -// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -verify -std=c11 -DGNU %s
> -// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -verify -std=c99 -DGNU %s
> +// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -fms-extensions -verify -std=c99 -DMS %s
> +// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -fms-extensions -verify -std=c11 -DMS %s
> +// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -fms-extensions -verify -std=c11 -DGNU %s
> +// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -fms-extensions -verify -std=c99 -DGNU %s
>
>  // Invalid usage.
>  __declspec(dllimport) typedef int typedef1; // expected-warning{{'dllimport' attribute only applies to variables and functions}}
>
> Modified: cfe/trunk/test/Sema/ms-inline-asm.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/ms-inline-asm.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Sema/ms-inline-asm.c (original)
> +++ cfe/trunk/test/Sema/ms-inline-asm.c Tue May 26 14:44:52 2015
> @@ -1,5 +1,5 @@
>  // REQUIRES: x86-registered-target
> -// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -fasm-blocks -Wno-microsoft -Wunused-label -verify -fsyntax-only
> +// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -fms-extensions -fasm-blocks -Wno-microsoft -Wunused-label -verify -fsyntax-only
>
>  void t1(void) {
>   __asm __asm // expected-error {{__asm used with no assembly instructions}}
>
> Modified: cfe/trunk/test/Sema/pragma-ms_struct.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/pragma-ms_struct.c?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/Sema/pragma-ms_struct.c (original)
> +++ cfe/trunk/test/Sema/pragma-ms_struct.c Tue May 26 14:44:52 2015
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin9 %s
> +// RUN: %clang_cc1 -fsyntax-only -fms-extensions -verify -triple x86_64-apple-darwin9 %s
>
>  #pragma ms_struct on
>
>
> Modified: cfe/trunk/test/SemaCXX/dllexport-pr22591.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/dllexport-pr22591.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/dllexport-pr22591.cpp (original)
> +++ cfe/trunk/test/SemaCXX/dllexport-pr22591.cpp Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-windows-gnu  -verify -std=c++03 %s
> -// RUN: %clang_cc1 -triple i686-windows-gnu  -verify -std=c++11 %s
> -// RUN: %clang_cc1 -triple i686-windows-msvc -verify -std=c++03 -DERROR %s
> -// RUN: %clang_cc1 -triple i686-windows-msvc -verify -std=c++11 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu  -fms-extensions -verify -std=c++03 %s
> +// RUN: %clang_cc1 -triple i686-windows-gnu  -fms-extensions -verify -std=c++11 %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc -fms-extensions -verify -std=c++03 -DERROR %s
> +// RUN: %clang_cc1 -triple i686-windows-msvc -fms-extensions -verify -std=c++11 %s
>
>  #ifndef ERROR
>  // expected-no-diagnostics
>
> Modified: cfe/trunk/test/SemaCXX/dllexport.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/dllexport.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/dllexport.cpp (original)
> +++ cfe/trunk/test/SemaCXX/dllexport.cpp Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -verify -std=c++11 -Wunsupported-dll-base-class-template -DMS %s
> -// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -verify -std=c++1y -Wunsupported-dll-base-class-template -DMS %s
> -// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -verify -std=c++1y -Wunsupported-dll-base-class-template %s
> -// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -verify -std=c++11 -Wunsupported-dll-base-class-template %s
> +// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -fms-extensions -verify -std=c++11 -Wunsupported-dll-base-class-template -DMS %s
> +// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -fms-extensions -verify -std=c++1y -Wunsupported-dll-base-class-template -DMS %s
> +// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -fms-extensions -verify -std=c++1y -Wunsupported-dll-base-class-template %s
> +// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -fms-extensions -verify -std=c++11 -Wunsupported-dll-base-class-template %s
>
>  // Helper structs to make templates more expressive.
>  struct ImplicitInst_Exported {};
>
> Modified: cfe/trunk/test/SemaCXX/dllimport.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/dllimport.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/dllimport.cpp (original)
> +++ cfe/trunk/test/SemaCXX/dllimport.cpp Tue May 26 14:44:52 2015
> @@ -1,7 +1,7 @@
> -// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -verify -std=c++11 -Wunsupported-dll-base-class-template -DMS %s
> -// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -verify -std=c++1y -Wunsupported-dll-base-class-template -DMS %s
> -// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -verify -std=c++1y -Wunsupported-dll-base-class-template -DGNU %s
> -// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -verify -std=c++11 -Wunsupported-dll-base-class-template -DGNU %s
> +// RUN: %clang_cc1 -triple i686-win32     -fsyntax-only -fms-extensions -verify -std=c++11 -Wunsupported-dll-base-class-template -DMS %s
> +// RUN: %clang_cc1 -triple x86_64-win32   -fsyntax-only -fms-extensions -verify -std=c++1y -Wunsupported-dll-base-class-template -DMS %s
> +// RUN: %clang_cc1 -triple i686-mingw32   -fsyntax-only -fms-extensions -verify -std=c++1y -Wunsupported-dll-base-class-template -DGNU %s
> +// RUN: %clang_cc1 -triple x86_64-mingw32 -fsyntax-only -fms-extensions -verify -std=c++11 -Wunsupported-dll-base-class-template -DGNU %s
>
>  // Helper structs to make templates more expressive.
>  struct ImplicitInst_Imported {};
>
> Modified: cfe/trunk/test/SemaCXX/generalized-deprecated.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/generalized-deprecated.cpp?rev=238238&r1=238237&r2=238238&view=diff
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/generalized-deprecated.cpp (original)
> +++ cfe/trunk/test/SemaCXX/generalized-deprecated.cpp Tue May 26 14:44:52 2015
> @@ -1,4 +1,4 @@
> -// RUN: %clang_cc1 -std=c++11 -verify -fsyntax-only -Wno-deprecated %s
> +// RUN: %clang_cc1 -std=c++11 -verify -fsyntax-only -fms-extensions -Wno-deprecated %s
>
>  // NOTE: use -Wno-deprecated to avoid cluttering the output with deprecated
>  // warnings
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list