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