diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/dllimport9.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/dllimport9.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/dllimport9.C b/gcc/testsuite/g++.dg/ext/dllimport9.C new file mode 100644 index 000000000..da57ef4bd --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/dllimport9.C @@ -0,0 +1,23 @@ +// Handle dllimport attribute for functions declared inline. +// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw* } } +// { dg-options { -W } } + +inline __attribute__((dllimport)) void bar() { } // { dg-warning "inline" } + +struct __attribute__ ((dllimport)) Blah +{ + void in_blah () { } // Don't warn if member declared inline in class definition. + void out_blah (); +}; + +inline void Blah::out_blah(){ } // Don't warn for inline override of external declaration + +void use_inlines() +{ + Blah aBlah; + bar(); + aBlah.in_blah (); + aBlah.out_blah (); +} + +// { dg-final { scan-assembler-not "__imp_" } } |