111
|
1 // Test that inline functions are exported with -fkeep-inline-functions.
|
|
2 // { dg-do compile { target i?86-*-cygwin* i?86-*-mingw* x86_64-*-mingw*} }
|
|
3 // { dg-options -fkeep-inline-functions }
|
|
4
|
|
5 __attribute__((dllexport)) inline int foo (int a) { return a;}
|
|
6
|
|
7
|
|
8 class __attribute__((dllexport)) Bar
|
|
9 {
|
|
10 public:
|
|
11 Bar(){};
|
|
12 int inline_bar(int a) {return a;}
|
|
13 int outline_bar(int a);
|
|
14 };
|
|
15
|
|
16 int Bar::outline_bar(int a) {return foo (a);}
|
|
17
|
|
18
|
|
19 Bar abar;
|
|
20
|
|
21 // { dg-final { scan-assembler "\.section\[ \t\]*.drectve\n.*_ZN3Bar11outline_barEi" } }
|
|
22 // { dg-final { scan-assembler " -export:\[\\\\\"\]*_ZN3Bar10inline_barEi" } }
|
|
23 // { dg-final { scan-assembler " -export:\[\\\\\"\]*_Z3fooi" } }
|