summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/dllimport11.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/dllimport11.C')
-rw-r--r--gcc/testsuite/g++.dg/ext/dllimport11.C15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/dllimport11.C b/gcc/testsuite/g++.dg/ext/dllimport11.C
new file mode 100644
index 000000000..6d822be22
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/dllimport11.C
@@ -0,0 +1,15 @@
+// PR target/23589
+// Template member functions do not get dllimport status of class.
+// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } }
+
+struct __attribute__((dllimport)) Foo
+{
+ template <class T> Foo (T);
+};
+
+void a (int i)
+{
+ Foo f(i);
+}
+
+template <class T> Foo::Foo (T) {} // no dllimport warnings on definition.