diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/inherit/pure1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/inherit/pure1.C | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/inherit/pure1.C b/gcc/testsuite/g++.dg/inherit/pure1.C new file mode 100644 index 000000000..ddd3cb332 --- /dev/null +++ b/gcc/testsuite/g++.dg/inherit/pure1.C @@ -0,0 +1,19 @@ +// PR c++/23266 +// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> +// { dg-do compile } + +void foo0() = 0; // { dg-error "like a variable" } +virtual void foo1() = 0; // { dg-error "outside class|variable" } + +struct A +{ + void foo2() = 0; // { dg-error "non-virtual" } + static void foo3() = 0; // { dg-error "static member" } + virtual static void foo4() = 0; // { dg-error "both virtual and static" } + virtual void foo5() = 0; // { dg-error "base class" } +}; + +struct B : A +{ + static void foo5() = 0; // { dg-error "static member|declared" } +}; |