diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/warn5.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/warn5.C | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/warn5.C b/gcc/testsuite/g++.old-deja/g++.mike/warn5.C new file mode 100644 index 000000000..af94d53b3 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/warn5.C @@ -0,0 +1,21 @@ +// { dg-do assemble } +// { dg-options "-Wpointer-arith" } + +double X(const double x) { return x; } +double Y() { return 1.0; } +double Z() { return 2.0; } + +struct A { + void bar() { } + void foo() { } +}; + +typedef void (A::*pmf)(); + +static int mememe = &A::foo - &A::bar; // { dg-error "invalid operands" } +pmf b = &A::foo-1; // { dg-error "invalid operands" } + +int main() { + double y; + y=X(Y-Z); // { dg-error "pointer to a function" } +} |