| // { dg-additional-options "-fmodules-ts" } |
| export module linkage; |
| // { dg-module-cmi "linkage" } |
| |
| inline void Foo () {} |
| |
| export inline void Baz () __attribute__((used)); |
| |
| inline void Bink () {} |
| |
| export inline void Baz () { Foo (); Bink (); } |
| |
| extern "C" inline void cfunc (void) __attribute__((used)); |
| extern "C" inline void cfunc (void) {} |
| |
| namespace Inner |
| { |
| inline void Foo2 () {} |
| |
| export inline void Baz2 () __attribute__((used)); |
| |
| inline void Bink2 () {} |
| |
| export inline void Baz2 () { Foo2 (); Bink2 (); } |
| } |
| |
| // { dg-final { scan-assembler "_ZW7linkage3Foov:" } } |
| // { dg-final { scan-assembler "_ZW7linkage4Binkv:" } } |
| // { dg-final { scan-assembler "_ZN5InnerW7linkage4Foo2Ev:" } } |
| // { dg-final { scan-assembler "_ZN5InnerW7linkage5Bink2Ev:" } } |
| // { dg-final { scan-assembler "_ZW7linkage3Bazv:" } } |
| // { dg-final { scan-assembler "_ZN5InnerW7linkage4Baz2Ev:" } } |
| // { dg-final { scan-assembler "cfunc:" } } |