* decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207360
138bc75d-0d04-0410-961f-
82ee72b054a4
+2014-01-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/55800
+ * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
+
2014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59082
TREE_PUBLIC (fn) = TREE_PUBLIC (var);
DECL_ARTIFICIAL (fn) = true;
DECL_COMDAT (fn) = DECL_COMDAT (var);
- DECL_EXTERNAL (fn) = true;
+ DECL_EXTERNAL (fn) = DECL_EXTERNAL (var);
if (DECL_ONE_ONLY (var))
make_decl_one_only (fn, cxx_comdat_group (fn));
if (TREE_PUBLIC (var))
--- /dev/null
+// PR c++/55800
+// { dg-options "-std=c++11" }
+// { dg-require-alias "" }
+// { dg-final { scan-assembler "_ZTH12foo_instance" { target tls_native } } }
+
+struct foo
+{
+ foo();
+};
+
+thread_local foo foo_instance;