blob: ede546f200002aa44c1480ad1809cb3776007bb9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// PR target/27650
// Don't use dllimport semantics on virtual methods when initializing
// vtables
// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } }
// Use import lib thunk for vtable entry of explicitly virtual method,
struct base
{
virtual void key_method();
__attribute__((dllimport)) virtual ~base();
};
void base::key_method() {}
// Likewise for an implicitly virtual method.
struct derived : public base
{
void key_method();
__attribute__((dllimport)) ~derived();
};
void derived::key_method() {}
|