re PR c++/16782 (Accepts qualified member function declaration in class)
authorMark Mitchell <mark@codesourcery.com>
Wed, 28 Sep 2005 14:50:17 +0000 (14:50 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 28 Sep 2005 14:50:17 +0000 (14:50 +0000)
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
gcc/cp/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/qualified4.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.law/static-mem5.C
gcc/testsuite/g++.old-deja/g++.mike/p8154.C

index 0c429cff6d0c0340c37ac772f442c04c03be83e0..f4255d628cd3c55a8fcb34189b5e632dc42d82b7 100644 (file)
@@ -1,3 +1,9 @@
+2005-09-28  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/16782
+       * decl.c (grokdeclarator): Always pedwarn about overqualified
+       member names.
+
 2005-09-27  Mark Mitchell  <mark@codesourcery.com>
 
        PR c++/22147
index bd77e06ddff831bfcd87d1072b8a0d52423302b8..01da187a6a15f52693c66a62eb8563786ef7f793 100644 (file)
@@ -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;
index 74cb23fe2fb9322f6ee3b33cbf209318322b1b3d..b9af61febcdc91f4c078e93f8097e37aed557e14 100644 (file)
@@ -1,3 +1,10 @@
+2005-09-28  Mark Mitchell  <mark@codesourcery.com>
+
+       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  <mark@codesourcery.com>
 
        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 (file)
index 0000000..c827fcf
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/16782
+// { dg-options "" }
+
+struct X { 
+  void X::bar() {} // { dg-error "" }
+}; 
index 33b45cb6d261d50abe86624806cdcdf5ac7c3eae..bbc79afaefebc6d2a59328ed095e7e8d9eb6290d 100644 (file)
@@ -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)
index 8b0c70d8b5db662dae98a02b61b53f3501da0cd5..126eb25e495cea01d673eed1a868e8ecd1d138fd 100644 (file)
@@ -1,5 +1,5 @@
 // { dg-do assemble  }
-// { dg-options "" }
+// { dg-options "-w -fpermissive" }
 // prms-id: 8154
 
 class QvFieldData;