r256704 - Fix several accidental DOS line endings in source files

Dimitry Andric via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 4 02:23:02 PST 2016


Thanks, corrected in r256742.

-Dimitry

> On 04 Jan 2016, at 03:01, Nico Weber <thakis at chromium.org> wrote:
> 
> lex.string/p4.cpp had a comment saying "This file intentionally uses DOS-style line endings to test" – maybe that one shouldn't have been converted to unix line endings?
> 
> On Sun, Jan 3, 2016 at 10:55 AM, Dimitry Andric via cfe-commits <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
> Author: dim
> Date: Sun Jan  3 09:55:40 2016
> New Revision: 256704
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=256704&view=rev <http://llvm.org/viewvc/llvm-project?rev=256704&view=rev>
> Log:
> Fix several accidental DOS line endings in source files
> 
> Summary:
> There are a number of files in the tree which have been accidentally checked in with DOS line endings. Convert these to native line endings.
> 
> There are also a few files which have DOS line endings on purpose, and I have set the svn:eol-style property to 'CRLF' on those.
> 
> Reviewers: joerg, aaron.ballman
> 
> Subscribers: aaron.ballman, cfe-commits
> 
> Differential Revision: http://reviews.llvm.org/D15849 <http://reviews.llvm.org/D15849>
> 
> Modified:
>     cfe/trunk/test/CXX/lex/lex.literal/lex.string/p4.cpp
>     cfe/trunk/test/CodeGen/avx512cdintrin.c
>     cfe/trunk/test/CodeGen/pku.c
>     cfe/trunk/test/CodeGen/x86_32-xsave.c
>     cfe/trunk/test/CodeGen/x86_64-xsave.c
>     cfe/trunk/test/Driver/mingw-libgcc.c
>     cfe/trunk/test/Driver/mingw.cpp
>     cfe/trunk/test/Parser/cxx1z-attributes.cpp
>     cfe/trunk/test/Sema/attr-ownership.c
>     cfe/trunk/test/Sema/warn-documentation-crlf.c
>     cfe/trunk/test/SemaCXX/attr-cxx0x-fixit.cpp
>     cfe/trunk/test/SemaCXX/attr-no-sanitize-address.cpp
>     cfe/trunk/test/SemaCXX/attr-no-sanitize-memory.cpp
>     cfe/trunk/test/SemaCXX/attr-no-sanitize-thread.cpp
>     cfe/trunk/test/SemaCXX/cdtor-fn-try-block.cpp
>     cfe/trunk/test/SemaCXX/cxx0x-noexcept-expression.cpp
> 
> Modified: cfe/trunk/test/CXX/lex/lex.literal/lex.string/p4.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/lex/lex.literal/lex.string/p4.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/lex/lex.literal/lex.string/p4.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/CXX/lex/lex.literal/lex.string/p4.cpp (original)
> +++ cfe/trunk/test/CXX/lex/lex.literal/lex.string/p4.cpp Sun Jan  3 09:55:40 2016
> @@ -1,17 +1,17 @@
> -// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s
> -// expected-no-diagnostics
> -
> -// NOTE: This file intentionally uses DOS-style line endings to test
> -// that we don't propagate them into string literals as per [lex.string]p4.
> -
> -constexpr const char* p = R"(a\
> -b
> -c)";
> -
> -static_assert(p[0] == 'a',  "");
> -static_assert(p[1] == '\\', "");
> -static_assert(p[2] == '\n', "");
> -static_assert(p[3] == 'b',  "");
> -static_assert(p[4] == '\n', "");
> -static_assert(p[5] == 'c',  "");
> -static_assert(p[6] == '\0', "");
> +// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s
> +// expected-no-diagnostics
> +
> +// NOTE: This file intentionally uses DOS-style line endings to test
> +// that we don't propagate them into string literals as per [lex.string]p4.
> +
> +constexpr const char* p = R"(a\
> +b
> +c)";
> +
> +static_assert(p[0] == 'a',  "");
> +static_assert(p[1] == '\\', "");
> +static_assert(p[2] == '\n', "");
> +static_assert(p[3] == 'b',  "");
> +static_assert(p[4] == '\n', "");
> +static_assert(p[5] == 'c',  "");
> +static_assert(p[6] == '\0', "");
> 
> Modified: cfe/trunk/test/CodeGen/avx512cdintrin.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512cdintrin.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512cdintrin.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/CodeGen/avx512cdintrin.c (original)
> +++ cfe/trunk/test/CodeGen/avx512cdintrin.c Sun Jan  3 09:55:40 2016
> @@ -1,67 +1,67 @@
> -// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512cd -emit-llvm -o - -Werror | FileCheck %s
> -
> -// Don't include mm_malloc.h, it's system specific.
> -#define __MM_MALLOC_H
> -
> -#include <immintrin.h>
> -
> -__m512i test_mm512_conflict_epi64(__m512i __A) {
> -  // CHECK-LABEL: @test_mm512_conflict_epi64
> -  // CHECK: @llvm.x86.avx512.mask.conflict.q.512
> -  return _mm512_conflict_epi64(__A);
> -}
> -__m512i test_mm512_mask_conflict_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_mask_conflict_epi64
> -  // CHECK: @llvm.x86.avx512.mask.conflict.q.512
> -  return _mm512_mask_conflict_epi64(__W,__U,__A);
> -}
> -__m512i test_mm512_maskz_conflict_epi64(__mmask8 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_maskz_conflict_epi64
> -  // CHECK: @llvm.x86.avx512.mask.conflict.q.512
> -  return _mm512_maskz_conflict_epi64(__U,__A);
> -}
> -__m512i test_mm512_conflict_epi32(__m512i __A) {
> -  // CHECK-LABEL: @test_mm512_conflict_epi32
> -  // CHECK: @llvm.x86.avx512.mask.conflict.d.512
> -  return _mm512_conflict_epi32(__A);
> -}
> -__m512i test_mm512_mask_conflict_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_mask_conflict_epi32
> -  // CHECK: @llvm.x86.avx512.mask.conflict.d.512
> -  return _mm512_mask_conflict_epi32(__W,__U,__A);
> -}
> -__m512i test_mm512_maskz_conflict_epi32(__mmask16 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_maskz_conflict_epi32
> -  // CHECK: @llvm.x86.avx512.mask.conflict.d.512
> -  return _mm512_maskz_conflict_epi32(__U,__A);
> -}
> -__m512i test_mm512_lzcnt_epi32(__m512i __A) {
> -  // CHECK-LABEL: @test_mm512_lzcnt_epi32
> -  // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
> -  return _mm512_lzcnt_epi32(__A);
> -}
> -__m512i test_mm512_mask_lzcnt_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_mask_lzcnt_epi32
> -  // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
> -  return _mm512_mask_lzcnt_epi32(__W,__U,__A);
> -}
> -__m512i test_mm512_maskz_lzcnt_epi32(__mmask16 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_maskz_lzcnt_epi32
> -  // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
> -  return _mm512_maskz_lzcnt_epi32(__U,__A);
> -}
> -__m512i test_mm512_lzcnt_epi64(__m512i __A) {
> -  // CHECK-LABEL: @test_mm512_lzcnt_epi64
> -  // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
> -  return _mm512_lzcnt_epi64(__A);
> -}
> -__m512i test_mm512_mask_lzcnt_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_mask_lzcnt_epi64
> -  // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
> -  return _mm512_mask_lzcnt_epi64(__W,__U,__A);
> -}
> -__m512i test_mm512_maskz_lzcnt_epi64(__mmask8 __U, __m512i __A) {
> -  // CHECK-LABEL: @test_mm512_maskz_lzcnt_epi64
> -  // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
> -  return _mm512_maskz_lzcnt_epi64(__U,__A);
> -}
> +// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +avx512cd -emit-llvm -o - -Werror | FileCheck %s
> +
> +// Don't include mm_malloc.h, it's system specific.
> +#define __MM_MALLOC_H
> +
> +#include <immintrin.h>
> +
> +__m512i test_mm512_conflict_epi64(__m512i __A) {
> +  // CHECK-LABEL: @test_mm512_conflict_epi64
> +  // CHECK: @llvm.x86.avx512.mask.conflict.q.512
> +  return _mm512_conflict_epi64(__A);
> +}
> +__m512i test_mm512_mask_conflict_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_mask_conflict_epi64
> +  // CHECK: @llvm.x86.avx512.mask.conflict.q.512
> +  return _mm512_mask_conflict_epi64(__W,__U,__A);
> +}
> +__m512i test_mm512_maskz_conflict_epi64(__mmask8 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_maskz_conflict_epi64
> +  // CHECK: @llvm.x86.avx512.mask.conflict.q.512
> +  return _mm512_maskz_conflict_epi64(__U,__A);
> +}
> +__m512i test_mm512_conflict_epi32(__m512i __A) {
> +  // CHECK-LABEL: @test_mm512_conflict_epi32
> +  // CHECK: @llvm.x86.avx512.mask.conflict.d.512
> +  return _mm512_conflict_epi32(__A);
> +}
> +__m512i test_mm512_mask_conflict_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_mask_conflict_epi32
> +  // CHECK: @llvm.x86.avx512.mask.conflict.d.512
> +  return _mm512_mask_conflict_epi32(__W,__U,__A);
> +}
> +__m512i test_mm512_maskz_conflict_epi32(__mmask16 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_maskz_conflict_epi32
> +  // CHECK: @llvm.x86.avx512.mask.conflict.d.512
> +  return _mm512_maskz_conflict_epi32(__U,__A);
> +}
> +__m512i test_mm512_lzcnt_epi32(__m512i __A) {
> +  // CHECK-LABEL: @test_mm512_lzcnt_epi32
> +  // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
> +  return _mm512_lzcnt_epi32(__A);
> +}
> +__m512i test_mm512_mask_lzcnt_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_mask_lzcnt_epi32
> +  // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
> +  return _mm512_mask_lzcnt_epi32(__W,__U,__A);
> +}
> +__m512i test_mm512_maskz_lzcnt_epi32(__mmask16 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_maskz_lzcnt_epi32
> +  // CHECK: @llvm.x86.avx512.mask.lzcnt.d.512
> +  return _mm512_maskz_lzcnt_epi32(__U,__A);
> +}
> +__m512i test_mm512_lzcnt_epi64(__m512i __A) {
> +  // CHECK-LABEL: @test_mm512_lzcnt_epi64
> +  // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
> +  return _mm512_lzcnt_epi64(__A);
> +}
> +__m512i test_mm512_mask_lzcnt_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_mask_lzcnt_epi64
> +  // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
> +  return _mm512_mask_lzcnt_epi64(__W,__U,__A);
> +}
> +__m512i test_mm512_maskz_lzcnt_epi64(__mmask8 __U, __m512i __A) {
> +  // CHECK-LABEL: @test_mm512_maskz_lzcnt_epi64
> +  // CHECK: @llvm.x86.avx512.mask.lzcnt.q.512
> +  return _mm512_maskz_lzcnt_epi64(__U,__A);
> +}
> 
> Modified: cfe/trunk/test/CodeGen/pku.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/pku.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/pku.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/CodeGen/pku.c (original)
> +++ cfe/trunk/test/CodeGen/pku.c Sun Jan  3 09:55:40 2016
> @@ -1,18 +1,18 @@
> -// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +pku -emit-llvm -o - -Werror | FileCheck %s
> -
> -// Don't include mm_malloc.h, it's system specific.
> -#define __MM_MALLOC_H
> -
> -#include <immintrin.h>
> -
> -unsigned int test_rdpkru_u32() {
> -  // CHECK-LABEL: @test_rdpkru_u32
> -  // CHECK: @llvm.x86.rdpkru
> -  return _rdpkru_u32();
> -}
> -void test_wrpkru(unsigned int __A) {
> -  // CHECK-LABEL: @test_wrpkru
> -  // CHECK: @llvm.x86.wrpkru
> -  _wrpkru(__A);
> -  return ;
> -}
> +// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -target-feature +pku -emit-llvm -o - -Werror | FileCheck %s
> +
> +// Don't include mm_malloc.h, it's system specific.
> +#define __MM_MALLOC_H
> +
> +#include <immintrin.h>
> +
> +unsigned int test_rdpkru_u32() {
> +  // CHECK-LABEL: @test_rdpkru_u32
> +  // CHECK: @llvm.x86.rdpkru
> +  return _rdpkru_u32();
> +}
> +void test_wrpkru(unsigned int __A) {
> +  // CHECK-LABEL: @test_wrpkru
> +  // CHECK: @llvm.x86.wrpkru
> +  _wrpkru(__A);
> +  return ;
> +}
> 
> Modified: cfe/trunk/test/CodeGen/x86_32-xsave.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/x86_32-xsave.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/x86_32-xsave.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/CodeGen/x86_32-xsave.c (original)
> +++ cfe/trunk/test/CodeGen/x86_32-xsave.c Sun Jan  3 09:55:40 2016
> @@ -1,72 +1,72 @@
> -// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=i686-unknown-unknown -target-feature +xsave -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> -// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=i686-unknown-unknown -target-feature +xsave -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> -
> -// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> -// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> -
> -// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsavec -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> -// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsavec -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> -
> -// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaves -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> -// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaves -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> -
> -void test() {
> -  unsigned long long tmp_ULLi;
> -  void*              tmp_vp;
> -
> -#ifdef TEST_XSAVE
> -// XSAVE: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> -// XSAVE: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVE: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVE: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVE: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVE: call void @llvm.x86.xsave(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsave(tmp_vp, tmp_ULLi);
> -
> -// XSAVE: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> -// XSAVE: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVE: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> -// XSAVE: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> -// XSAVE: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> -// XSAVE: call void @llvm.x86.xrstor(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> -  (void)__builtin_ia32_xrstor(tmp_vp, tmp_ULLi);
> -#endif
> -
> -#ifdef TEST_XSAVEOPT
> -// XSAVEOPT: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> -// XSAVEOPT: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVEOPT: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVEOPT: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVEOPT: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVEOPT: call void @llvm.x86.xsaveopt(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsaveopt(tmp_vp, tmp_ULLi);
> -#endif
> -
> -#ifdef TEST_XSAVEC
> -// XSAVEC: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> -// XSAVEC: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVEC: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVEC: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVEC: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVEC: call void @llvm.x86.xsavec(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsavec(tmp_vp, tmp_ULLi);
> -#endif
> -
> -#ifdef TEST_XSAVES
> -// XSAVES: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> -// XSAVES: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVES: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVES: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVES: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVES: call void @llvm.x86.xsaves(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsaves(tmp_vp, tmp_ULLi);
> -
> -// XSAVES: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> -// XSAVES: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVES: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> -// XSAVES: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> -// XSAVES: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> -// XSAVES: call void @llvm.x86.xrstors(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> -  (void)__builtin_ia32_xrstors(tmp_vp, tmp_ULLi);
> -#endif
> -}
> +// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=i686-unknown-unknown -target-feature +xsave -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> +// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=i686-unknown-unknown -target-feature +xsave -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> +
> +// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> +// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> +
> +// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsavec -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> +// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsavec -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> +
> +// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaves -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> +// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=i686-unknown-unknown -target-feature +xsave -target-feature +xsaves -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> +
> +void test() {
> +  unsigned long long tmp_ULLi;
> +  void*              tmp_vp;
> +
> +#ifdef TEST_XSAVE
> +// XSAVE: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> +// XSAVE: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVE: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVE: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVE: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVE: call void @llvm.x86.xsave(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsave(tmp_vp, tmp_ULLi);
> +
> +// XSAVE: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> +// XSAVE: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVE: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> +// XSAVE: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> +// XSAVE: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> +// XSAVE: call void @llvm.x86.xrstor(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> +  (void)__builtin_ia32_xrstor(tmp_vp, tmp_ULLi);
> +#endif
> +
> +#ifdef TEST_XSAVEOPT
> +// XSAVEOPT: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> +// XSAVEOPT: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVEOPT: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVEOPT: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVEOPT: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVEOPT: call void @llvm.x86.xsaveopt(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsaveopt(tmp_vp, tmp_ULLi);
> +#endif
> +
> +#ifdef TEST_XSAVEC
> +// XSAVEC: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> +// XSAVEC: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVEC: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVEC: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVEC: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVEC: call void @llvm.x86.xsavec(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsavec(tmp_vp, tmp_ULLi);
> +#endif
> +
> +#ifdef TEST_XSAVES
> +// XSAVES: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> +// XSAVES: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVES: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVES: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVES: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVES: call void @llvm.x86.xsaves(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsaves(tmp_vp, tmp_ULLi);
> +
> +// XSAVES: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 4
> +// XSAVES: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVES: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> +// XSAVES: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> +// XSAVES: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> +// XSAVES: call void @llvm.x86.xrstors(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> +  (void)__builtin_ia32_xrstors(tmp_vp, tmp_ULLi);
> +#endif
> +}
> 
> Modified: cfe/trunk/test/CodeGen/x86_64-xsave.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/x86_64-xsave.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/x86_64-xsave.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/CodeGen/x86_64-xsave.c (original)
> +++ cfe/trunk/test/CodeGen/x86_64-xsave.c Sun Jan  3 09:55:40 2016
> @@ -1,120 +1,120 @@
> -// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> -// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> -
> -// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> -// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> -
> -// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsavec -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> -// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsavec -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> -
> -// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaves -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> -// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaves -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> -
> -void test() {
> -  unsigned long long tmp_ULLi;
> -  void*              tmp_vp;
> -
> -#ifdef TEST_XSAVE
> -// XSAVE: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVE: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVE: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVE: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVE: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVE: call void @llvm.x86.xsave(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsave(tmp_vp, tmp_ULLi);
> -
> -// XSAVE: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVE: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVE: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> -// XSAVE: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> -// XSAVE: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> -// XSAVE: call void @llvm.x86.xsave64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> -  (void)__builtin_ia32_xsave64(tmp_vp, tmp_ULLi);
> -
> -// XSAVE: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVE: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVE: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> -// XSAVE: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> -// XSAVE: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> -// XSAVE: call void @llvm.x86.xrstor(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> -  (void)__builtin_ia32_xrstor(tmp_vp, tmp_ULLi);
> -
> -// XSAVE: [[tmp_vp_4:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVE: [[tmp_ULLi_4:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVE: [[high64_4:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_4]], 32
> -// XSAVE: [[high32_4:%[0-9a-zA-z]+]] = trunc i64 [[high64_4]] to i32
> -// XSAVE: [[low32_4:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_4]] to i32
> -// XSAVE: call void @llvm.x86.xrstor64(i8* [[tmp_vp_4]], i32 [[high32_4]], i32 [[low32_4]])
> -  (void)__builtin_ia32_xrstor64(tmp_vp, tmp_ULLi);
> -#endif
> -
> -#ifdef TEST_XSAVEOPT
> -// XSAVEOPT: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVEOPT: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVEOPT: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVEOPT: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVEOPT: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVEOPT: call void @llvm.x86.xsaveopt(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsaveopt(tmp_vp, tmp_ULLi);
> -
> -// XSAVEOPT: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVEOPT: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVEOPT: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> -// XSAVEOPT: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> -// XSAVEOPT: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> -// XSAVEOPT: call void @llvm.x86.xsaveopt64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> -  (void)__builtin_ia32_xsaveopt64(tmp_vp, tmp_ULLi);
> -#endif
> -
> -#ifdef TEST_XSAVEC
> -// XSAVEC: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVEC: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVEC: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVEC: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVEC: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVEC: call void @llvm.x86.xsavec(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsavec(tmp_vp, tmp_ULLi);
> -
> -// XSAVEC: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVEC: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVEC: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> -// XSAVEC: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> -// XSAVEC: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> -// XSAVEC: call void @llvm.x86.xsavec64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> -  (void)__builtin_ia32_xsavec64(tmp_vp, tmp_ULLi);
> -#endif
> -
> -#ifdef TEST_XSAVES
> -// XSAVES: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVES: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVES: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> -// XSAVES: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> -// XSAVES: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> -// XSAVES: call void @llvm.x86.xsaves(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> -  (void)__builtin_ia32_xsaves(tmp_vp, tmp_ULLi);
> -
> -// XSAVES: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVES: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVES: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> -// XSAVES: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> -// XSAVES: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> -// XSAVES: call void @llvm.x86.xsaves64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> -  (void)__builtin_ia32_xsaves64(tmp_vp, tmp_ULLi);
> -
> -// XSAVES: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVES: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVES: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> -// XSAVES: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> -// XSAVES: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> -// XSAVES: call void @llvm.x86.xrstors(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> -  (void)__builtin_ia32_xrstors(tmp_vp, tmp_ULLi);
> -
> -// XSAVES: [[tmp_vp_4:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> -// XSAVES: [[tmp_ULLi_4:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> -// XSAVES: [[high64_4:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_4]], 32
> -// XSAVES: [[high32_4:%[0-9a-zA-z]+]] = trunc i64 [[high64_4]] to i32
> -// XSAVES: [[low32_4:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_4]] to i32
> -// XSAVES: call void @llvm.x86.xrstors64(i8* [[tmp_vp_4]], i32 [[high32_4]], i32 [[low32_4]])
> -  (void)__builtin_ia32_xrstors64(tmp_vp, tmp_ULLi);
> -#endif
> -}
> +// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> +// RUN: %clang_cc1 %s -DTEST_XSAVE -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVE
> +
> +// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> +// RUN: %clang_cc1 %s -DTEST_XSAVEOPT -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaveopt -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEOPT
> +
> +// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsavec -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> +// RUN: %clang_cc1 %s -DTEST_XSAVEC -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsavec -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVEC
> +
> +// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaves -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> +// RUN: %clang_cc1 %s -DTEST_XSAVES -O0 -triple=x86_64-unknown-unknown -target-feature +xsave -target-feature +xsaves -fno-signed-char -emit-llvm -o - -Werror | FileCheck %s --check-prefix=XSAVES
> +
> +void test() {
> +  unsigned long long tmp_ULLi;
> +  void*              tmp_vp;
> +
> +#ifdef TEST_XSAVE
> +// XSAVE: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVE: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVE: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVE: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVE: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVE: call void @llvm.x86.xsave(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsave(tmp_vp, tmp_ULLi);
> +
> +// XSAVE: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVE: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVE: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> +// XSAVE: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> +// XSAVE: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> +// XSAVE: call void @llvm.x86.xsave64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> +  (void)__builtin_ia32_xsave64(tmp_vp, tmp_ULLi);
> +
> +// XSAVE: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVE: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVE: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> +// XSAVE: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> +// XSAVE: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> +// XSAVE: call void @llvm.x86.xrstor(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> +  (void)__builtin_ia32_xrstor(tmp_vp, tmp_ULLi);
> +
> +// XSAVE: [[tmp_vp_4:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVE: [[tmp_ULLi_4:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVE: [[high64_4:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_4]], 32
> +// XSAVE: [[high32_4:%[0-9a-zA-z]+]] = trunc i64 [[high64_4]] to i32
> +// XSAVE: [[low32_4:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_4]] to i32
> +// XSAVE: call void @llvm.x86.xrstor64(i8* [[tmp_vp_4]], i32 [[high32_4]], i32 [[low32_4]])
> +  (void)__builtin_ia32_xrstor64(tmp_vp, tmp_ULLi);
> +#endif
> +
> +#ifdef TEST_XSAVEOPT
> +// XSAVEOPT: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVEOPT: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVEOPT: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVEOPT: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVEOPT: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVEOPT: call void @llvm.x86.xsaveopt(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsaveopt(tmp_vp, tmp_ULLi);
> +
> +// XSAVEOPT: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVEOPT: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVEOPT: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> +// XSAVEOPT: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> +// XSAVEOPT: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> +// XSAVEOPT: call void @llvm.x86.xsaveopt64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> +  (void)__builtin_ia32_xsaveopt64(tmp_vp, tmp_ULLi);
> +#endif
> +
> +#ifdef TEST_XSAVEC
> +// XSAVEC: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVEC: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVEC: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVEC: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVEC: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVEC: call void @llvm.x86.xsavec(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsavec(tmp_vp, tmp_ULLi);
> +
> +// XSAVEC: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVEC: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVEC: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> +// XSAVEC: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> +// XSAVEC: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> +// XSAVEC: call void @llvm.x86.xsavec64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> +  (void)__builtin_ia32_xsavec64(tmp_vp, tmp_ULLi);
> +#endif
> +
> +#ifdef TEST_XSAVES
> +// XSAVES: [[tmp_vp_1:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVES: [[tmp_ULLi_1:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVES: [[high64_1:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_1]], 32
> +// XSAVES: [[high32_1:%[0-9a-zA-z]+]] = trunc i64 [[high64_1]] to i32
> +// XSAVES: [[low32_1:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_1]] to i32
> +// XSAVES: call void @llvm.x86.xsaves(i8* [[tmp_vp_1]], i32 [[high32_1]], i32 [[low32_1]])
> +  (void)__builtin_ia32_xsaves(tmp_vp, tmp_ULLi);
> +
> +// XSAVES: [[tmp_vp_2:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVES: [[tmp_ULLi_2:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVES: [[high64_2:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_2]], 32
> +// XSAVES: [[high32_2:%[0-9a-zA-z]+]] = trunc i64 [[high64_2]] to i32
> +// XSAVES: [[low32_2:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_2]] to i32
> +// XSAVES: call void @llvm.x86.xsaves64(i8* [[tmp_vp_2]], i32 [[high32_2]], i32 [[low32_2]])
> +  (void)__builtin_ia32_xsaves64(tmp_vp, tmp_ULLi);
> +
> +// XSAVES: [[tmp_vp_3:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVES: [[tmp_ULLi_3:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVES: [[high64_3:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_3]], 32
> +// XSAVES: [[high32_3:%[0-9a-zA-z]+]] = trunc i64 [[high64_3]] to i32
> +// XSAVES: [[low32_3:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_3]] to i32
> +// XSAVES: call void @llvm.x86.xrstors(i8* [[tmp_vp_3]], i32 [[high32_3]], i32 [[low32_3]])
> +  (void)__builtin_ia32_xrstors(tmp_vp, tmp_ULLi);
> +
> +// XSAVES: [[tmp_vp_4:%[0-9a-zA-z]+]] = load i8*, i8** %tmp_vp, align 8
> +// XSAVES: [[tmp_ULLi_4:%[0-9a-zA-z]+]] = load i64, i64* %tmp_ULLi, align 8
> +// XSAVES: [[high64_4:%[0-9a-zA-z]+]] = lshr i64 [[tmp_ULLi_4]], 32
> +// XSAVES: [[high32_4:%[0-9a-zA-z]+]] = trunc i64 [[high64_4]] to i32
> +// XSAVES: [[low32_4:%[0-9a-zA-z]+]] = trunc i64 [[tmp_ULLi_4]] to i32
> +// XSAVES: call void @llvm.x86.xrstors64(i8* [[tmp_vp_4]], i32 [[high32_4]], i32 [[low32_4]])
> +  (void)__builtin_ia32_xrstors64(tmp_vp, tmp_ULLi);
> +#endif
> +}
> 
> Modified: cfe/trunk/test/Driver/mingw-libgcc.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw-libgcc.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw-libgcc.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/Driver/mingw-libgcc.c (original)
> +++ cfe/trunk/test/Driver/mingw-libgcc.c Sun Jan  3 09:55:40 2016
> @@ -1,25 +1,25 @@
> -// Test if mingw toolchain driver emits static linking (-lgcc -lgcc_eh) or dynamic linking (-lgcc_s -lgcc).
> -// Verified with gcc version 5.1.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project).
> -
> -// gcc, static
> -// RUN: %clang -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static-libgcc -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static -shared -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static-libgcc -shared -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -
> -// gcc, dynamic
> -// RUN: %clang -shared -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DYNAMIC %s
> -
> -// g++, static
> -// RUN: %clang -static --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static-libgcc --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static -shared --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -// RUN: %clang -static-libgcc -shared --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> -
> -// g++, dynamic
> -// RUN: %clang --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DYNAMIC %s
> -// RUN: %clang -shared --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DYNAMIC %s
> -
> -// CHECK_STATIC: "-lgcc" "-lgcc_eh"
> -// CHECK_DYNAMIC: "-lgcc_s" "-lgcc"
> +// Test if mingw toolchain driver emits static linking (-lgcc -lgcc_eh) or dynamic linking (-lgcc_s -lgcc).
> +// Verified with gcc version 5.1.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project).
> +
> +// gcc, static
> +// RUN: %clang -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static-libgcc -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static -shared -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static-libgcc -shared -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +
> +// gcc, dynamic
> +// RUN: %clang -shared -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DYNAMIC %s
> +
> +// g++, static
> +// RUN: %clang -static --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static-libgcc --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static -shared --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +// RUN: %clang -static-libgcc -shared --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_STATIC %s
> +
> +// g++, dynamic
> +// RUN: %clang --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DYNAMIC %s
> +// RUN: %clang -shared --driver-mode=g++ -v -target i686-pc-windows-gnu -### %s 2>&1 | FileCheck -check-prefix=CHECK_DYNAMIC %s
> +
> +// CHECK_STATIC: "-lgcc" "-lgcc_eh"
> +// CHECK_DYNAMIC: "-lgcc_s" "-lgcc"
> 
> Modified: cfe/trunk/test/Driver/mingw.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mingw.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/Driver/mingw.cpp (original)
> +++ cfe/trunk/test/Driver/mingw.cpp Sun Jan  3 09:55:40 2016
> @@ -1,59 +1,59 @@
> -// RUN: %clang -target i686-windows-gnu -c -### --sysroot=%S/Inputs/mingw_clang_tree/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_CLANG_TREE %s
> -// CHECK_MINGW_CLANG_TREE: "{{.*}}/Inputs/mingw_clang_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> -// CHECK_MINGW_CLANG_TREE: "{{.*}}/Inputs/mingw_clang_tree/mingw32{{/|\\\\}}include"
> -
> -
> -// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_mingw_org_tree/mingw %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ORG_TREE %s
> -// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++"
> -// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}mingw32"
> -// CHECK_MINGW_ORG_TREE: "{{.*}}{{/|\\\\}}Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
> -// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include"
> -// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include-fixed"
> -// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}mingw32{{/|\\\\}}include"
> -// CHECK_MINGW_ORG_TREE: {{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}include
> -
> -
> -// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_mingw_builds_tree/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_BUILDS_TREE %s
> -// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++"
> -// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}i686-w64-mingw32"
> -// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
> -// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.1{{/|\\\\}}include"
> -// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.1{{/|\\\\}}include-fixed"
> -// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> -
> -
> -// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_msys2_tree/msys64/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_MSYS_TREE %s
> -// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64{{/|\\\\}}mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2"
> -// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2{{/|\\\\}}i686-w64-mingw32"
> -// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2{{/|\\\\}}backward"
> -// CHECK_MINGW_MSYS_TREE:  "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.2{{/|\\\\}}include"
> -// CHECK_MINGW_MSYS_TREE:  "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.2{{/|\\\\}}include-fixed"
> -// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> -// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include"
> -
> -
> -// RUN: %clang -target x86_64-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_opensuse_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_OPENSUSE_TREE %s
> -// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++"
> -// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}x86_64-w64-mingw32"
> -// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
> -// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include"
> -// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}x86_64-w64-mingw32/sys-root/mingw/include"
> -// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include-fixed"
> -
> -
> -// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_arch_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ARCH_TREE %s
> -// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0"
> -// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}i686-w64-mingw32"
> -// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}backward"
> -// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include"
> -// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include-fixed"
> -// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> -
> -
> -// RUN: %clang -target x86_64-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_ubuntu_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_UBUNTU_TREE %s
> -// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8"
> -// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8{{/|\\\\}}x86_64-w64-mingw32"
> -// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8{{/|\\\\}}backward"
> -// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}4.8{{/|\\\\}}include"
> -// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}4.8{{/|\\\\}}include-fixed"
> -// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}include"
> +// RUN: %clang -target i686-windows-gnu -c -### --sysroot=%S/Inputs/mingw_clang_tree/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_CLANG_TREE %s
> +// CHECK_MINGW_CLANG_TREE: "{{.*}}/Inputs/mingw_clang_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> +// CHECK_MINGW_CLANG_TREE: "{{.*}}/Inputs/mingw_clang_tree/mingw32{{/|\\\\}}include"
> +
> +
> +// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_mingw_org_tree/mingw %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ORG_TREE %s
> +// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++"
> +// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}mingw32"
> +// CHECK_MINGW_ORG_TREE: "{{.*}}{{/|\\\\}}Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
> +// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include"
> +// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}mingw32{{/|\\\\}}4.8.1{{/|\\\\}}include-fixed"
> +// CHECK_MINGW_ORG_TREE: "{{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}mingw32{{/|\\\\}}include"
> +// CHECK_MINGW_ORG_TREE: {{.*}}/Inputs/mingw_mingw_org_tree/mingw{{/|\\\\}}include
> +
> +
> +// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_mingw_builds_tree/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_BUILDS_TREE %s
> +// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++"
> +// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}i686-w64-mingw32"
> +// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
> +// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.1{{/|\\\\}}include"
> +// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.1{{/|\\\\}}include-fixed"
> +// CHECK_MINGW_BUILDS_TREE: "{{.*}}/Inputs/mingw_mingw_builds_tree/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> +
> +
> +// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_msys2_tree/msys64/mingw32 %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_MSYS_TREE %s
> +// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64{{/|\\\\}}mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2"
> +// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2{{/|\\\\}}i686-w64-mingw32"
> +// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.9.2{{/|\\\\}}backward"
> +// CHECK_MINGW_MSYS_TREE:  "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.2{{/|\\\\}}include"
> +// CHECK_MINGW_MSYS_TREE:  "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}4.9.2{{/|\\\\}}include-fixed"
> +// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> +// CHECK_MINGW_MSYS_TREE: "{{.*}}/Inputs/mingw_msys2_tree/msys64/mingw32{{/|\\\\}}include"
> +
> +
> +// RUN: %clang -target x86_64-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_opensuse_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_OPENSUSE_TREE %s
> +// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++"
> +// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}x86_64-w64-mingw32"
> +// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}backward"
> +// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include"
> +// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}x86_64-w64-mingw32/sys-root/mingw/include"
> +// CHECK_MINGW_OPENSUSE_TREE: "{{.*}}/Inputs/mingw_opensuse_tree/usr{{/|\\\\}}lib64{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include-fixed"
> +
> +
> +// RUN: %clang -target i686-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_arch_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_ARCH_TREE %s
> +// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0"
> +// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}i686-w64-mingw32"
> +// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}5.1.0{{/|\\\\}}backward"
> +// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include"
> +// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}5.1.0{{/|\\\\}}include-fixed"
> +// CHECK_MINGW_ARCH_TREE: "{{.*}}/Inputs/mingw_arch_tree/usr{{/|\\\\}}i686-w64-mingw32{{/|\\\\}}include"
> +
> +
> +// RUN: %clang -target x86_64-pc-windows-gnu -stdlib=libstdc++ -c -### --sysroot=%S/Inputs/mingw_ubuntu_tree/usr %s 2>&1 | FileCheck -check-prefix=CHECK_MINGW_UBUNTU_TREE %s
> +// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8"
> +// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8{{/|\\\\}}x86_64-w64-mingw32"
> +// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}include{{/|\\\\}}c++{{/|\\\\}}4.8{{/|\\\\}}backward"
> +// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}4.8{{/|\\\\}}include"
> +// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}lib{{/|\\\\}}gcc{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}4.8{{/|\\\\}}include-fixed"
> +// CHECK_MINGW_UBUNTU_TREE: "{{.*}}/Inputs/mingw_ubuntu_tree/usr{{/|\\\\}}x86_64-w64-mingw32{{/|\\\\}}include"
> 
> Modified: cfe/trunk/test/Parser/cxx1z-attributes.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/cxx1z-attributes.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/cxx1z-attributes.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/Parser/cxx1z-attributes.cpp (original)
> +++ cfe/trunk/test/Parser/cxx1z-attributes.cpp Sun Jan  3 09:55:40 2016
> @@ -1,14 +1,14 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify -std=c++1z %s
> -
> -namespace [[]] foo {}
> -namespace [[]] {}
> -namespace [[]] bad = foo; // expected-error {{attributes cannot be specified on namespace alias}}
> -
> -namespace [[]] A::B {} // expected-error {{attributes cannot be specified on a nested namespace definition}}
> -
> -enum test {
> -  bing [[]],
> -  bar [[]] = 1,
> -  baz [[]][[]],
> -  quux [[]][[]] = 4
> -};
> +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++1z %s
> +
> +namespace [[]] foo {}
> +namespace [[]] {}
> +namespace [[]] bad = foo; // expected-error {{attributes cannot be specified on namespace alias}}
> +
> +namespace [[]] A::B {} // expected-error {{attributes cannot be specified on a nested namespace definition}}
> +
> +enum test {
> +  bing [[]],
> +  bar [[]] = 1,
> +  baz [[]][[]],
> +  quux [[]][[]] = 4
> +};
> 
> Modified: cfe/trunk/test/Sema/attr-ownership.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/attr-ownership.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/attr-ownership.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/Sema/attr-ownership.c (original)
> +++ cfe/trunk/test/Sema/attr-ownership.c Sun Jan  3 09:55:40 2016
> @@ -9,7 +9,7 @@ void f6(void) __attribute__((ownership_h
>  void f7(void) __attribute__((ownership_takes(foo)));  // expected-error {{'ownership_takes' attribute takes at least 2 arguments}}
>  void f8(int *i, int *j, int k) __attribute__((ownership_holds(foo, 1, 2, 4)));  // expected-error {{'ownership_holds' attribute parameter 3 is out of bounds}}
> 
> -int f9 __attribute__((ownership_takes(foo, 1)));  // expected-warning {{'ownership_takes' attribute only applies to non-K&R-style functions}}
> +int f9 __attribute__((ownership_takes(foo, 1)));  // expected-warning {{'ownership_takes' attribute only applies to non-K&R-style functions}}
> 
>  void f10(int i) __attribute__((ownership_holds(foo, 1)));  // expected-error {{'ownership_holds' attribute only applies to pointer arguments}}
>  void *f11(float i) __attribute__((ownership_returns(foo, 1)));  // expected-error {{'ownership_returns' attribute only applies to integer arguments}}
> @@ -19,8 +19,8 @@ void f13(int *i, int *j) __attribute__((
>  void f14(int i, int j, int *k) __attribute__((ownership_holds(foo, 3))) __attribute__((ownership_takes(foo, 3)));  // expected-error {{'ownership_holds' and 'ownership_takes' attributes are not compatible}}
> 
>  void f15(int, int)
> -  __attribute__((ownership_returns(foo, 1)))  // expected-note {{declared with index 1 here}}
> -  __attribute__((ownership_returns(foo, 2))); // expected-error {{'ownership_returns' attribute index does not match; here it is 2}}
> -void f16(int *i, int *j) __attribute__((ownership_holds(foo, 1))) __attribute__((ownership_holds(foo, 1))); // OK, same index
> -void f17(void*) __attribute__((ownership_takes(__, 1)));
> -void f18() __attribute__((ownership_takes(foo, 1)));  // expected-warning {{'ownership_takes' attribute only applies to non-K&R-style functions}}
> +  __attribute__((ownership_returns(foo, 1)))  // expected-note {{declared with index 1 here}}
> +  __attribute__((ownership_returns(foo, 2))); // expected-error {{'ownership_returns' attribute index does not match; here it is 2}}
> +void f16(int *i, int *j) __attribute__((ownership_holds(foo, 1))) __attribute__((ownership_holds(foo, 1))); // OK, same index
> +void f17(void*) __attribute__((ownership_takes(__, 1)));
> +void f18() __attribute__((ownership_takes(foo, 1)));  // expected-warning {{'ownership_takes' attribute only applies to non-K&R-style functions}}
> 
> Modified: cfe/trunk/test/Sema/warn-documentation-crlf.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-documentation-crlf.c?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/warn-documentation-crlf.c?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/Sema/warn-documentation-crlf.c (original)
> +++ cfe/trunk/test/Sema/warn-documentation-crlf.c Sun Jan  3 09:55:40 2016
> @@ -1,13 +1,13 @@
> -// RUN: %clang_cc1 -fsyntax-only -Wdocumentation %s
> -// The run line does not have '-verify' because we were crashing while printing
> -// the diagnostic.
> -
> -// This file has DOS-style line endings (CR LF).  Please don't change it to
> -// Unix-style LF!
> -
> -// PR14591.  Check that we don't crash on this.
> -/**
> - * @param abc
> - */
> -void nocrash1(int qwerty);
> -
> +// RUN: %clang_cc1 -fsyntax-only -Wdocumentation %s
> +// The run line does not have '-verify' because we were crashing while printing
> +// the diagnostic.
> +
> +// This file has DOS-style line endings (CR LF).  Please don't change it to
> +// Unix-style LF!
> +
> +// PR14591.  Check that we don't crash on this.
> +/**
> + * @param abc
> + */
> +void nocrash1(int qwerty);
> +
> 
> Modified: cfe/trunk/test/SemaCXX/attr-cxx0x-fixit.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-cxx0x-fixit.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-cxx0x-fixit.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/attr-cxx0x-fixit.cpp (original)
> +++ cfe/trunk/test/SemaCXX/attr-cxx0x-fixit.cpp Sun Jan  3 09:55:40 2016
> @@ -1,5 +1,5 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
> -// RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-parseable-fixits -std=c++11 %s 2>&1 | FileCheck %s
> -
> -[[noreturn()]] void f(); // expected-error {{attribute 'noreturn' cannot have an argument list}} \
> -// CHECK: fix-it:"{{.*}}":{4:11-4:13}:""
> +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
> +// RUN: not %clang_cc1 -fsyntax-only -fdiagnostics-parseable-fixits -std=c++11 %s 2>&1 | FileCheck %s
> +
> +[[noreturn()]] void f(); // expected-error {{attribute 'noreturn' cannot have an argument list}} \
> +// CHECK: fix-it:"{{.*}}":{4:11-4:13}:""
> 
> Modified: cfe/trunk/test/SemaCXX/attr-no-sanitize-address.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-no-sanitize-address.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-no-sanitize-address.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/attr-no-sanitize-address.cpp (original)
> +++ cfe/trunk/test/SemaCXX/attr-no-sanitize-address.cpp Sun Jan  3 09:55:40 2016
> @@ -5,14 +5,14 @@
>  #if !__has_attribute(no_sanitize_address)
>  #error "Should support no_sanitize_address"
>  #endif
> -
> -void noanal_fun() NO_SANITIZE_ADDRESS;
> -
> -void noanal_fun_alt() __attribute__((__no_sanitize_address__));
> -
> -void noanal_fun_args() __attribute__((no_sanitize_address(1))); // \
> -  // expected-error {{'no_sanitize_address' attribute takes no arguments}}
> -
> +
> +void noanal_fun() NO_SANITIZE_ADDRESS;
> +
> +void noanal_fun_alt() __attribute__((__no_sanitize_address__));
> +
> +void noanal_fun_args() __attribute__((no_sanitize_address(1))); // \
> +  // expected-error {{'no_sanitize_address' attribute takes no arguments}}
> +
>  int noanal_testfn(int y) NO_SANITIZE_ADDRESS;
> 
>  int noanal_testfn(int y) {
> 
> Modified: cfe/trunk/test/SemaCXX/attr-no-sanitize-memory.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-no-sanitize-memory.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-no-sanitize-memory.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/attr-no-sanitize-memory.cpp (original)
> +++ cfe/trunk/test/SemaCXX/attr-no-sanitize-memory.cpp Sun Jan  3 09:55:40 2016
> @@ -5,14 +5,14 @@
>  #if !__has_attribute(no_sanitize_memory)
>  #error "Should support no_sanitize_memory"
>  #endif
> -
> -void noanal_fun() NO_SANITIZE_MEMORY;
> -
> -void noanal_fun_alt() __attribute__((__no_sanitize_memory__));
> -
> -void noanal_fun_args() __attribute__((no_sanitize_memory(1))); // \
> -  // expected-error {{'no_sanitize_memory' attribute takes no arguments}}
> -
> +
> +void noanal_fun() NO_SANITIZE_MEMORY;
> +
> +void noanal_fun_alt() __attribute__((__no_sanitize_memory__));
> +
> +void noanal_fun_args() __attribute__((no_sanitize_memory(1))); // \
> +  // expected-error {{'no_sanitize_memory' attribute takes no arguments}}
> +
>  int noanal_testfn(int y) NO_SANITIZE_MEMORY;
> 
>  int noanal_testfn(int y) {
> 
> Modified: cfe/trunk/test/SemaCXX/attr-no-sanitize-thread.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-no-sanitize-thread.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/attr-no-sanitize-thread.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/attr-no-sanitize-thread.cpp (original)
> +++ cfe/trunk/test/SemaCXX/attr-no-sanitize-thread.cpp Sun Jan  3 09:55:40 2016
> @@ -5,14 +5,14 @@
>  #if !__has_attribute(no_sanitize_thread)
>  #error "Should support no_sanitize_thread"
>  #endif
> -
> -void noanal_fun() NO_SANITIZE_THREAD;
> -
> -void noanal_fun_alt() __attribute__((__no_sanitize_thread__));
> -
> -void noanal_fun_args() __attribute__((no_sanitize_thread(1))); // \
> -  // expected-error {{'no_sanitize_thread' attribute takes no arguments}}
> -
> +
> +void noanal_fun() NO_SANITIZE_THREAD;
> +
> +void noanal_fun_alt() __attribute__((__no_sanitize_thread__));
> +
> +void noanal_fun_args() __attribute__((no_sanitize_thread(1))); // \
> +  // expected-error {{'no_sanitize_thread' attribute takes no arguments}}
> +
>  int noanal_testfn(int y) NO_SANITIZE_THREAD;
> 
>  int noanal_testfn(int y) {
> 
> Modified: cfe/trunk/test/SemaCXX/cdtor-fn-try-block.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cdtor-fn-try-block.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cdtor-fn-try-block.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/cdtor-fn-try-block.cpp (original)
> +++ cfe/trunk/test/SemaCXX/cdtor-fn-try-block.cpp Sun Jan  3 09:55:40 2016
> @@ -1,97 +1,97 @@
> -// RUN: %clang_cc1 -fsyntax-only -fcxx-exceptions -verify %s -std=c++14
> -
> -int FileScope;
> -
> -struct A {
> -  int I;
> -  void f();
> -  A() try {
> -  } catch (...) {
> -    I = 12; // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> -    f(); // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> -
> -    FileScope = 12; // ok
> -    A a;
> -    a.I = 12; // ok
> -  }
> -};
> -
> -struct B {
> -  int I;
> -  void f();
> -};
> -
> -struct C : B {
> -  C() try {
> -  } catch (...) {
> -    I = 12; // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> -    f(); // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> -  }
> -};
> -
> -struct D {
> -  static int I;
> -  static void f();
> -
> -  D() try {
> -  } catch (...) {
> -    I = 12; // ok
> -    f(); // ok
> -  }
> -};
> -int D::I;
> -
> -struct E {
> -  int I;
> -  void f();
> -  static int J;
> -  static void g();
> -
> -  ~E() try {
> -  } catch (...) {
> -    I = 12; // expected-warning {{cannot refer to a non-static member from the handler of a destructor function try block}}
> -    f(); // expected-warning {{cannot refer to a non-static member from the handler of a destructor function try block}}
> -
> -    J = 12; // ok
> -    g(); // ok
> -  }
> -};
> -int E::J;
> -
> -struct F {
> -  static int I;
> -  static void f();
> -};
> -int F::I;
> -
> -struct G : F {
> -  G() try {
> -  } catch (...) {
> -    I = 12; // ok
> -    f(); // ok
> -  }
> -};
> -
> -struct H {
> -  struct A {};
> -  enum {
> -    E
> -  };
> -
> -  H() try {
> -  } catch (...) {
> -    H::A a; // ok
> -    int I = E; // ok
> -  }
> -};
> -
> -struct I {
> -  int J;
> -
> -  I() {
> -    try { // not a function-try-block
> -    } catch (...) {
> -      J = 12; // ok
> -       }
> -  }
> +// RUN: %clang_cc1 -fsyntax-only -fcxx-exceptions -verify %s -std=c++14
> +
> +int FileScope;
> +
> +struct A {
> +  int I;
> +  void f();
> +  A() try {
> +  } catch (...) {
> +    I = 12; // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> +    f(); // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> +
> +    FileScope = 12; // ok
> +    A a;
> +    a.I = 12; // ok
> +  }
> +};
> +
> +struct B {
> +  int I;
> +  void f();
> +};
> +
> +struct C : B {
> +  C() try {
> +  } catch (...) {
> +    I = 12; // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> +    f(); // expected-warning {{cannot refer to a non-static member from the handler of a constructor function try block}}
> +  }
> +};
> +
> +struct D {
> +  static int I;
> +  static void f();
> +
> +  D() try {
> +  } catch (...) {
> +    I = 12; // ok
> +    f(); // ok
> +  }
> +};
> +int D::I;
> +
> +struct E {
> +  int I;
> +  void f();
> +  static int J;
> +  static void g();
> +
> +  ~E() try {
> +  } catch (...) {
> +    I = 12; // expected-warning {{cannot refer to a non-static member from the handler of a destructor function try block}}
> +    f(); // expected-warning {{cannot refer to a non-static member from the handler of a destructor function try block}}
> +
> +    J = 12; // ok
> +    g(); // ok
> +  }
> +};
> +int E::J;
> +
> +struct F {
> +  static int I;
> +  static void f();
> +};
> +int F::I;
> +
> +struct G : F {
> +  G() try {
> +  } catch (...) {
> +    I = 12; // ok
> +    f(); // ok
> +  }
> +};
> +
> +struct H {
> +  struct A {};
> +  enum {
> +    E
> +  };
> +
> +  H() try {
> +  } catch (...) {
> +    H::A a; // ok
> +    int I = E; // ok
> +  }
> +};
> +
> +struct I {
> +  int J;
> +
> +  I() {
> +    try { // not a function-try-block
> +    } catch (...) {
> +      J = 12; // ok
> +       }
> +  }
>  };
> \ No newline at end of file
> 
> Modified: cfe/trunk/test/SemaCXX/cxx0x-noexcept-expression.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cxx0x-noexcept-expression.cpp?rev=256704&r1=256703&r2=256704&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/cxx0x-noexcept-expression.cpp?rev=256704&r1=256703&r2=256704&view=diff>
> ==============================================================================
> --- cfe/trunk/test/SemaCXX/cxx0x-noexcept-expression.cpp (original)
> +++ cfe/trunk/test/SemaCXX/cxx0x-noexcept-expression.cpp Sun Jan  3 09:55:40 2016
> @@ -1,19 +1,19 @@
> -// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
> -
> -void f(); // expected-note {{possible target for call}}
> -void f(int); // expected-note {{possible target for call}}
> -
> -void g() {
> -  bool b = noexcept(f); // expected-error {{reference to overloaded function could not be resolved; did you mean to call it with no arguments?}}
> -  bool b2 = noexcept(f(0));
> -}
> -
> -struct S {
> -  void g(); // expected-note {{possible target for call}}
> -  void g(int); // expected-note {{possible target for call}}
> -
> -  void h() {
> -    bool b = noexcept(this->g); // expected-error {{reference to non-static member function must be called; did you mean to call it with no arguments?}}
> -    bool b2 = noexcept(this->g(0));
> -  }
> -};
> +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
> +
> +void f(); // expected-note {{possible target for call}}
> +void f(int); // expected-note {{possible target for call}}
> +
> +void g() {
> +  bool b = noexcept(f); // expected-error {{reference to overloaded function could not be resolved; did you mean to call it with no arguments?}}
> +  bool b2 = noexcept(f(0));
> +}
> +
> +struct S {
> +  void g(); // expected-note {{possible target for call}}
> +  void g(int); // expected-note {{possible target for call}}
> +
> +  void h() {
> +    bool b = noexcept(this->g); // expected-error {{reference to non-static member function must be called; did you mean to call it with no arguments?}}
> +    bool b2 = noexcept(this->g(0));
> +  }
> +};
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <http://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/20160104/505246c7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160104/505246c7/attachment-0001.sig>


More information about the cfe-commits mailing list