r256134 - [Cygwin] Enable TLS as emutls.

Rafael EspĂ­ndola via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 20 18:44:15 PST 2015


Can we delete

 config.available_features.add('tls')

now?

On 20 December 2015 at 21:37, NAKAMURA Takumi via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: chapuni
> Date: Sun Dec 20 20:37:23 2015
> New Revision: 256134
>
> URL: http://llvm.org/viewvc/llvm-project?rev=256134&view=rev
> Log:
> [Cygwin] Enable TLS as emutls.
>
> It resolves clang selfhosting with std::once() for Cygwin.
>
> FIXME: It may be EmulatedTLS-generic also for X86-Android.
> FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls.
>
> Modified:
>     cfe/trunk/lib/Basic/Targets.cpp
>     cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp
>     cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp
>     cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp
>
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=256134&r1=256133&r2=256134&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Sun Dec 20 20:37:23 2015
> @@ -3834,7 +3834,6 @@ class CygwinX86_32TargetInfo : public X8
>  public:
>    CygwinX86_32TargetInfo(const llvm::Triple &Triple)
>        : X86_32TargetInfo(Triple) {
> -    TLSSupported = false;
>      WCharType = UnsignedShort;
>      DoubleAlign = LongLongAlign = 64;
>      DataLayoutString = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32";
>
> Modified: cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp?rev=256134&r1=256133&r2=256134&view=diff
> ==============================================================================
> --- cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp (original)
> +++ cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp Sun Dec 20 20:37:23 2015
> @@ -1,5 +1,4 @@
>  // RUN:  %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s
> -// REQUIRES: tls
>
>  template<typename T> concept thread_local bool VCTL = true; // expected-error {{variable concept cannot be declared 'thread_local'}}
>
>
> Modified: cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp?rev=256134&r1=256133&r2=256134&view=diff
> ==============================================================================
> --- cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp (original)
> +++ cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp Sun Dec 20 20:37:23 2015
> @@ -11,7 +11,6 @@
>  // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DLAMBDA -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-LAMBDA %s
>  // RUN: %clang_cc1 -verify -fopenmp -x c++ -fblocks -DBLOCKS -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-BLOCKS %s
>  // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DARRAY -triple x86_64-linux-gnu -emit-llvm %s -o - | FileCheck -check-prefix=TLS-ARRAY %s
> -// REQUIRES: tls
>  // expected-no-diagnostics
>  #ifndef ARRAY
>  #ifndef HEADER
>
> Modified: cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp?rev=256134&r1=256133&r2=256134&view=diff
> ==============================================================================
> --- cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp (original)
> +++ cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp Sun Dec 20 20:37:23 2015
> @@ -9,8 +9,6 @@
>  // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s %s -o - | FileCheck %s -check-prefix=CHECK-TLS-1
>  // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s %s -o - | FileCheck %s -check-prefix=CHECK-TLS-2
>
> -// REQUIRES: tls
> -
>  #if !defined(PASS1)
>  #define PASS1
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list