diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/inherit/error2.C')
-rw-r--r-- | gcc/testsuite/g++.dg/inherit/error2.C | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/inherit/error2.C b/gcc/testsuite/g++.dg/inherit/error2.C new file mode 100644 index 000000000..7d5e2e5d6 --- /dev/null +++ b/gcc/testsuite/g++.dg/inherit/error2.C @@ -0,0 +1,16 @@ +// PR c++/28259 +// { dg-do compile } + +struct A +{ + virtual A* foo(); // { dg-error "overriding" } +}; + +struct B : virtual A; // { dg-error "before" } + +struct C : A +{ + virtual B* foo(); // { dg-error "invalid covariant" } +}; + +B* C::foo() { return 0; } |