From 9f4a5c9a630914ea21535efcbc62825bf289c51e Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Wed, 28 Sep 2005 14:50:17 +0000 Subject: [PATCH] re PR c++/16782 (Accepts qualified member function declaration in class) PR c++/16782 * decl.c (grokdeclarator): Always pedwarn about overqualified member names. PR c++/16782 * g++.dg/parse/qualified4.C: New test. * g++.old-deja/g++.law/static-mem5.C: Use -w -fpermissive. * g++.old-deja/g++.mike/p8154.C: Likewise. From-SVN: r104733 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl.c | 13 ++----------- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/g++.dg/parse/qualified4.C | 6 ++++++ gcc/testsuite/g++.old-deja/g++.law/static-mem5.C | 2 +- gcc/testsuite/g++.old-deja/g++.mike/p8154.C | 2 +- 6 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 gcc/testsuite/g++.dg/parse/qualified4.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0c429cff6d0..f4255d628cd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2005-09-28 Mark Mitchell + + PR c++/16782 + * decl.c (grokdeclarator): Always pedwarn about overqualified + member names. + 2005-09-27 Mark Mitchell PR c++/22147 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index bd77e06ddff..01da187a6a1 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -7562,17 +7562,8 @@ grokdeclarator (const cp_declarator *declarator, } if (ctype == current_class_type) - { - /* class A { - void A::f (); - }; - - Is this ill-formed? */ - - if (pedantic) - pedwarn ("extra qualification %<%T::%> on member %qs ignored", - ctype, name); - } + pedwarn ("extra qualification %<%T::%> on member %qs ignored", + ctype, name); else if (TREE_CODE (type) == FUNCTION_TYPE) { tree sname = declarator->u.id.unqualified_name; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 74cb23fe2fb..b9af61febcd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2005-09-28 Mark Mitchell + + PR c++/16782 + * g++.dg/parse/qualified4.C: New test. + * g++.old-deja/g++.law/static-mem5.C: Use -w -fpermissive. + * g++.old-deja/g++.mike/p8154.C: Likewise. + 2005-09-27 Mark Mitchell PR c++/22147 diff --git a/gcc/testsuite/g++.dg/parse/qualified4.C b/gcc/testsuite/g++.dg/parse/qualified4.C new file mode 100644 index 00000000000..c827fcfe7c1 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/qualified4.C @@ -0,0 +1,6 @@ +// PR c++/16782 +// { dg-options "" } + +struct X { + void X::bar() {} // { dg-error "" } +}; diff --git a/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C b/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C index 33b45cb6d26..bbc79afaefe 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C +++ b/gcc/testsuite/g++.old-deja/g++.law/static-mem5.C @@ -1,5 +1,5 @@ // { dg-do assemble } -// { dg-options "-w" } +// { dg-options "-w -fpermissive" } // GROUPS passed static-mem // static-mem file // From: bunch@tazboy.jpl.nasa.gov (Walt Bunch) diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p8154.C b/gcc/testsuite/g++.old-deja/g++.mike/p8154.C index 8b0c70d8b5d..126eb25e495 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/p8154.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/p8154.C @@ -1,5 +1,5 @@ // { dg-do assemble } -// { dg-options "" } +// { dg-options "-w -fpermissive" } // prms-id: 8154 class QvFieldData; -- 2.30.2