1// Test that inline functions are exported with -fkeep-inline-functions.
2// { dg-do compile { target i?86-*-cygwin* i?86-*-mingw*} }
3// { dg-options -fkeep-inline-functions }
4
5__attribute__((dllexport)) inline int foo (int a) { return a;}
6
7
8class __attribute__((dllexport)) Bar
9{
10  public:
11    Bar(){};
12    int inline_bar(int a) {return a;}
13    int outline_bar(int a);
14};
15
16int Bar::outline_bar(int a) {return foo (a);}
17
18
19Bar 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" } }
24