| // Test that inline functions are exported with -fkeep-inline-functions. |
| // { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw*} } |
| // { dg-options -fkeep-inline-functions } |
| |
| __attribute__((dllexport)) inline int foo (int a) { return a;} |
| |
| |
| class __attribute__((dllexport)) Bar |
| { |
| public: |
| Bar(){}; |
| int inline_bar(int a) {return a;} |
| int outline_bar(int a); |
| }; |
| |
| int Bar::outline_bar(int a) {return foo (a);} |
| |
| |
| Bar abar; |
| |
| // { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n.*_ZN3Bar11outline_barEi" } } |
| // { dg-final { scan-assembler " -export:\[\\\\\"\]*_ZN3Bar10inline_barEi" } } |
| // { dg-final { scan-assembler " -export:\[\\\\\"\]*_Z3fooi" } } |