diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/dllimport1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/dllimport1.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/dllimport1.C b/gcc/testsuite/g++.dg/ext/dllimport1.C new file mode 100644 index 000000000..d7ddfe8a2 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/dllimport1.C @@ -0,0 +1,31 @@ +// PR c++/7910 +// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } +// { dg-options { -Wall -W } } + +class __attribute__((dllimport)) Foo +{ + public: + virtual void dummy_foo_func(void) + {} + void dummy_foo_fun2(); + virtual ~Foo(); // avoid warning +}; + +void Foo::dummy_foo_fun2() // { dg-warning "redeclared without dllimport" } +{ +} + +class Bar : public Foo +{ +public: + ~Bar(); + void dummy_bar_func(); +}; + +Bar::~Bar() +{} + +void Bar::dummy_bar_func() +{} + +// { dg-final { scan-assembler-not "__imp\[_\]*__ZN3Foo14dummy_foo_fun" } } |