aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2014-07-30 17:29:25 -0400
committerJason Merrill <jason@gcc.gnu.org>2014-07-30 17:29:25 -0400
commite00f67c6e04054bfcb860f31844a0007d5200d9c (patch)
tree0bee47504df3b88b73391824c6a036eace8b5860 /gcc/testsuite
parent5b9802c45c2c0cfe93d261518e5ca466197cbf8f (diff)
downloadgcc-e00f67c6e04054bfcb860f31844a0007d5200d9c.zip
gcc-e00f67c6e04054bfcb860f31844a0007d5200d9c.tar.gz
gcc-e00f67c6e04054bfcb860f31844a0007d5200d9c.tar.bz2
re PR lto/53808 (Undefined symbol when building a library with lto)
PR lto/53808 PR c++/61659 * pt.c (push_template_decl_real): Don't set DECL_COMDAT on friends. From-SVN: r213311
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/g++.dg/template/friend56.C13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/friend56.C b/gcc/testsuite/g++.dg/template/friend56.C
new file mode 100644
index 0000000..7dd5d48
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/friend56.C
@@ -0,0 +1,13 @@
+// Make sure we don't mistakenly mark f as DECL_COMDAT.
+// { dg-final { scan-assembler "_Z1fv" } }
+
+void f();
+
+template <class T> struct A
+{
+ friend void f();
+};
+
+A<int> a;
+
+void f() { }