1 // { dg-require-weak "" }
2 // { dg-skip-if "Linkonce not weak" { *-*-mingw* *-*-cygwin } }
3 // { dg-final { scan-assembler ".weak\[ \t\]_?_ZThn._N7Derived3FooEv" { target { ! { *-*-darwin* } } } } }
4 // { dg-final { scan-assembler ".weak_definition\[ \t\]_?_ZThn._N7Derived3FooEv" { target { *-*-darwin* } } } }
5 
6 struct Base
7 {
8   virtual void Foo ();
9 };
10 
11 struct Filler
12 {
13   virtual void Baz ();
14 };
15 
16 struct Derived : Filler, Base
17 {
18   virtual void Foo ();
19 };
20 
Foo()21 inline void Derived::Foo ()
22 {
23 }
24 
25 Derived f;
26