* varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
for extra name aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183396
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-01-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/51832
+ * varpool.c (varpool_analyze_pending_decls): Copy DECL_EXTERNAL
+ for extra name aliases.
+
2012-01-22 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/51924
+2012-01-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/51832
+ * g++.dg/lto/pr51832.h: New.
+ * g++.dg/lto/pr51832_0.C: New.
+ * g++.dg/lto/pr51832_1.C: New.
+
2012-01-22 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/ext-elim-1.c: New test.
--- /dev/null
+template<class...T> struct A
+{
+ static int i;
+};
+
+inline void f() { A<int>::i = 0; }
--- /dev/null
+// PR c++/51832
+// { dg-lto-do link }
+// { dg-lto-options { "-std=c++11 -flto -fabi-version=2" } }
+
+#include "pr51832.h"
+
+int main() { }
--- /dev/null
+#include "pr51832.h"
{
DECL_WEAK (node->decl) = DECL_WEAK (node->alias_of);
TREE_PUBLIC (node->decl) = TREE_PUBLIC (node->alias_of);
+ DECL_EXTERNAL (node->decl) = DECL_EXTERNAL (node->alias_of);
DECL_VISIBILITY (node->decl) = DECL_VISIBILITY (node->alias_of);
if (TREE_PUBLIC (node->decl))
{