PR target/54908
commit1c4973d7708d34b68e9ad7d46cd1623ce1609734
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Jan 2013 05:25:25 +0000 (19 05:25 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Jan 2013 05:25:25 +0000 (19 05:25 +0000)
tree6f07da7f6452368c46a7fccdd8d5a008127dbe83
parentb7fd3d269ebd953bb44b2a46e0a2a30b12b0a505
PR target/54908
c-family/
* c.opt (-fextern-tls-init): New.
* c-opts.c (c_common_post_options): Handle it.
cp/
* decl2.c (get_local_tls_init_fn): New.
(get_tls_init_fn): Handle flag_extern_tls_init.  Don't bother
with aliases for internal variables.  Don't use weakrefs if
the variable needs destruction.
(generate_tls_wrapper): Mark the wrapper as const if no
initialization is needed.
(handle_tls_init): Don't require aliases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195310 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/ChangeLog
gcc/c-family/c-opts.c
gcc/c-family/c.opt
gcc/cp/ChangeLog
gcc/cp/decl2.c
gcc/doc/invoke.texi
gcc/testsuite/g++.dg/gomp/tls-wrap3.C
gcc/testsuite/g++.dg/tls/thread_local-wrap3.C
libgomp/testsuite/libgomp.c++/pr24455.C