From 5f395de6f29a114f721aa6489a5bb65f29e3e187 Mon Sep 17 00:00:00 2001
From: dannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 20 Sep 2006 23:32:07 +0000
Subject: [PATCH] 	PR target/27650 	* g++.dg/ext/dllimport12.C:
 New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117097 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/testsuite/ChangeLog                |  5 +++++
 gcc/testsuite/g++.dg/ext/dllimport12.C | 22 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100755 gcc/testsuite/g++.dg/ext/dllimport12.C

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0b539e6acb39..c17c5eb5b4d4 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-20  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR target/27650
+	* g++.dg/ext/dllimport12.C: New test.
+
 2006-09-20  Richard Sandiford  <richard@codesourcery.com>
 
 	* gcc.target/mips/mips-ps-type.c: Add -ffinite-math-only.
diff --git a/gcc/testsuite/g++.dg/ext/dllimport12.C b/gcc/testsuite/g++.dg/ext/dllimport12.C
new file mode 100755
index 000000000000..fe480f21c3a1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/dllimport12.C
@@ -0,0 +1,22 @@
+// PR target/27650
+// Don't use dllimport semantics on virtual methods
+// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} }
+
+// Don't import explicitly virtual method.
+struct base
+{
+  virtual void key_method();
+  __attribute__((dllimport)) virtual ~base();
+};
+
+void base::key_method() {}
+
+
+// Nor an implicitly virtual method.
+struct derived : public base
+{
+  void key_method(); 
+  __attribute__((dllimport)) ~derived();
+};
+
+void derived::key_method() {}
-- 
GitLab