This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: C++ PATCH to support dynamic initialization and destruction of C++11 and OpenMP TLS variables
- From: Jack Howarth <howarth at bromo dot med dot uc dot edu>
- To: Dominique Dhumieres <dominiq at lps dot ens dot fr>
- Cc: gcc-patches at gcc dot gnu dot org, jason at redhat dot com
- Date: Tue, 9 Oct 2012 10:43:14 -0400
- Subject: Re: RFC: C++ PATCH to support dynamic initialization and destruction of C++11 and OpenMP TLS variables
- References: <20121009140751.4F52F3BE1B@mailhost.lps.ens.fr>
On Tue, Oct 09, 2012 at 04:07:51PM +0200, Dominique Dhumieres wrote:
> On x86_64-apple-darwin10 The following tests:
>
> g++.dg/gomp/tls-5.C
> g++.dg/tls/thread_local-cse.C
> g++.dg/tls/thread_local-order*.C
> g++.dg/tls/thread_local*g.C
>
> fail with
>
> sorry, unimplemented: dynamic initialization of non-function-local thread_local variables not supported on this target
>
> In addition, I see
>
> FAIL: g++.dg/tls/thread_local3.C -std=gnu++11 execution test
> FAIL: g++.dg/tls/thread_local4.C -std=gnu++11 execution test
> FAIL: g++.dg/tls/thread_local7.C scan-assembler-not \\.data
>
> and
>
> FAIL: g++.dg/tls/static-1.C *
>
> for the latter, the error is
>
> Undefined symbols:
> "TLS init function for A::i", referenced from:
> test() in ccNTapVf.o
> test() in ccNTapVf.o
> __ZTHN1A1iE$non_lazy_ptr in ccNTapVf.o
>
> TIA
>
> Dominique
This patch was probably never tested on any targets that use emutls for tls support.
I assume there is a way to switch the standard linux build from tls to emutls so this
regression can be tested on targets other than darwin. Perhaps with gcc_cv_use_emutls?.
Jack