decl.c (duplicate_decls): Check for the return of permerror before emitting a note.
authorFabien Chêne <fabien@gcc.gnu.org>
Fri, 4 Apr 2014 08:03:19 +0000 (10:03 +0200)
committerFabien Chêne <fabien@gcc.gnu.org>
Fri, 4 Apr 2014 08:03:19 +0000 (10:03 +0200)
2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>

* decl.c (duplicate_decls): Check for the return of permerror
before emitting a note.

2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>

* g++.old-deja/g++.robertl/eb121.C: Adjust.
* g++.old-deja/g++.jason/overload21.C: Likewise.
* g++.old-deja/g++.law/init5.C: Likewise.

From-SVN: r209071

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.jason/overload21.C
gcc/testsuite/g++.old-deja/g++.law/init5.C
gcc/testsuite/g++.old-deja/g++.robertl/eb121.C

index d174767..a575654 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       * decl.c (duplicate_decls): Check for the return of permerror
+       before emitting a note.
+
 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
 
        * class.c (accessible_nvdtor_p): New.
@@ -66,9 +71,9 @@
 2014-03-26  Fabien Chêne  <fabien@gcc.gnu.org>
 
        PR c++/52369
-       * cp/method.c (walk_field_subobs): Improve the diagnostic
+       * method.c (walk_field_subobs): Improve the diagnostic
        locations for both REFERENCE_TYPEs and non-static const members.
-       * cp/init.c (diagnose_uninitialized_cst_or_ref_member): Use %q#D
+       * init.c (diagnose_uninitialized_cst_or_ref_member): Use %q#D
        instead of %qD to be consistent with the c++11 diagnostic.
 
 2014-03-25  Jason Merrill  <jason@redhat.com>
index f3a081b..f1743dd 100644 (file)
@@ -1737,9 +1737,9 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend)
                        if (permerror (input_location,
                                       "default argument given for parameter "
                                       "%d of %q#D", i, newdecl))
-                         permerror (DECL_SOURCE_LOCATION (olddecl),
-                                    "previous specification in %q#D here",
-                                    olddecl);
+                         inform (DECL_SOURCE_LOCATION (olddecl),
+                                 "previous specification in %q#D here",
+                                 olddecl);
                      }
                    else
                      {
index d470b1e..0446485 100644 (file)
@@ -1,3 +1,9 @@
+2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       * g++.old-deja/g++.robertl/eb121.C: Adjust.
+       * g++.old-deja/g++.jason/overload21.C: Likewise.
+       * g++.old-deja/g++.law/init5.C: Likewise.
+
 2014-04-03  Cong Hou  <congh@google.com>
 
        PR tree-optimization/60505
@@ -22,7 +28,7 @@
 
        PR ipa/60659
        * testsuite/g++.dg/torture/pr60659.C: New testcase.
-       
+
 2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        PR tree-optimization/60733
index 7239793..125aee0 100644 (file)
@@ -1,6 +1,6 @@
 // { dg-do assemble  }
 struct X {
-  void f (int = 4, char = 'r');        // { dg-error "previous specification" } 
+  void f (int = 4, char = 'r');        // { dg-message "previous specification" } 
   void g (int = 4, char = 'r');        // { dg-message "previous specification" } 
 };
 
index c1d647b..7ed89e2 100644 (file)
@@ -11,8 +11,8 @@ extern int fred( int);
 
 class X {
       public :
-      void f( int = fred( 0) ) ; // { dg-error "" } previous spec
+      void f( int = fred( 0) ) ; // { dg-message "previous spec" }
 } ;
 
-void X::f( int x = fred( 0) ) {// { dg-error "" } .*
+void X::f( int x = fred( 0) ) { // { dg-error "default argument" }
 }
index e01d747..036c8d5 100644 (file)
@@ -3,7 +3,7 @@ class A {
 private:
   int i1_;
 public:
-  void f(int const i1 = 1); // { dg-error "previous specification" }
+  void f(int const i1 = 1); // { dg-message "previous specification" }
 };
 
 void