diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C b/gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C new file mode 100644 index 000000000..248e1ed9f --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.benjamin/warn02.C @@ -0,0 +1,54 @@ +// { dg-do assemble } +// { dg-options "-Wredundant-decls" } +// 980413 bkoz +// from g++/15307, tests for -Wredundant-decls +// for friend functions and functions + + +extern int foo(const char *); + +class A +{ + friend int foo(const char *); + int a; +}; + +class B +{ + friend int foo(const char *); + int foo2() {return b;} + int b; +}; + +class C +{ + friend int foo(const char *); + friend int foo(const char *); // { dg-warning "" } + int foo2() {return b;} + int b; +}; + +class D +{ +public: + int foo2() {return b;} // { dg-error "with" } + int foo2() {return b;} // { dg-error "overloaded" } + int b; +}; + +class E +{ +public: + int foo2(); // { dg-error "with" } + int foo2(); // { dg-error "overloaded" } + int b; +}; + +extern int foo3(const char *); // { dg-warning "" } +extern int foo3(const char *); // { dg-warning "" } + + + + + + |