Jan Hubicka <hubi...@ucw.cz> writes: > Index: testsuite/g++.dg/torture/pr60315.C > =================================================================== > --- testsuite/g++.dg/torture/pr60315.C (revision 0) > +++ testsuite/g++.dg/torture/pr60315.C (revision 0) > @@ -0,0 +1,32 @@ > +// { dg-do compile } > +struct Base { > + virtual int f() = 0; > +}; > + > +struct Derived : public Base { > + virtual int f() final override { > + return 42; > + } > +}; > + > +extern Base* b; > + > +int main() { > + return (static_cast<Derived*>(b)->*(&Derived::f))(); > +} > +// { dg-do compile } > +struct Base { > + virtual int f() = 0; > +}; > + > +struct Derived : public Base { > + virtual int f() final override { > + return 42; > + } > +}; > + > +extern Base* b; > + > +int main() { > + return (static_cast<Derived*>(b)->*(&Derived::f))(); > +}
* g++.dg/torture/pr60315.C: Remove duplication. diff --git a/gcc/testsuite/g++.dg/torture/pr60315.C b/gcc/testsuite/g++.dg/torture/pr60315.C index 7f12260..72ce507 100644 --- a/gcc/testsuite/g++.dg/torture/pr60315.C +++ b/gcc/testsuite/g++.dg/torture/pr60315.C @@ -14,19 +14,3 @@ extern Base* b; int main() { return (static_cast<Derived*>(b)->*(&Derived::f))(); } -// { dg-do compile } -struct Base { - virtual int f() = 0; -}; - -struct Derived : public Base { - virtual int f() final override { - return 42; - } -}; - -extern Base* b; - -int main() { - return (static_cast<Derived*>(b)->*(&Derived::f))(); -} -- 1.9.1 Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."