[gcc(refs/vendors/redhat/heads/gcc-10-branch)] Replace one error with inform.

Jakub Jelinek jakub@gcc.gnu.org
Thu Jan 30 20:55:00 GMT 2020


https://gcc.gnu.org/g:d3c00969fe619ae116dfbc07e6b364558acb6e3f

commit d3c00969fe619ae116dfbc07e6b364558acb6e3f
Author: Martin Liska <mliska@suse.cz>
Date:   Tue Jan 28 10:26:53 2020 +0100

    Replace one error with inform.
    
    	PR c++/92440
    	* pt.c (redeclare_class_template): Use inform
    	for the second location.
    	PR c++/92440
    	* g++.dg/template/pr92440.C: New test.
    	* g++.dg/cpp0x/vt-34314.C: Update error to note.
    	* g++.dg/template/pr59930-2.C: Likewise.
    	* g++.old-deja/g++.pt/redecl1.C: Likewise.

Diff:
---
 gcc/cp/ChangeLog                            |  6 ++++++
 gcc/cp/pt.c                                 |  2 +-
 gcc/testsuite/ChangeLog                     |  8 ++++++++
 gcc/testsuite/g++.dg/cpp0x/vt-34314.C       |  6 +++---
 gcc/testsuite/g++.dg/template/pr59930-2.C   |  2 +-
 gcc/testsuite/g++.dg/template/pr92440.C     | 10 ++++++++++
 gcc/testsuite/g++.dg/template/redecl2.C     |  2 +-
 gcc/testsuite/g++.old-deja/g++.pt/redecl1.C |  4 ++--
 8 files changed, 32 insertions(+), 8 deletions(-)

diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 44f3975..f029c20 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+	PR c++/92440
+	* pt.c (redeclare_class_template): Use inform
+	for the second location.
+
 2020-01-27  Jason Merrill  <jason@redhat.com>
 
 	PR c++/90966
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 6e614d5..274fe84 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -6149,7 +6149,7 @@ redeclare_class_template (tree type, tree parms, tree cons)
 		  != TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm)))))
 	{
 	  error ("template parameter %q+#D", tmpl_parm);
-	  error ("redeclared here as %q#D", parm);
+	  inform (input_location, "redeclared here as %q#D", parm);
 	  return false;
 	}
 
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6518f7f..255cd08 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+	PR c++/92440
+	* g++.dg/template/pr92440.C: New test.
+	* g++.dg/cpp0x/vt-34314.C: Update error to note.
+	* g++.dg/template/pr59930-2.C: Likewise.
+	* g++.old-deja/g++.pt/redecl1.C: Likewise.
+
 2020-01-28  Jakub Jelinek  <jakub@redhat.com>
 
 	PR target/93418
diff --git a/gcc/testsuite/g++.dg/cpp0x/vt-34314.C b/gcc/testsuite/g++.dg/cpp0x/vt-34314.C
index ee0ed01..b37cac5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/vt-34314.C
+++ b/gcc/testsuite/g++.dg/cpp0x/vt-34314.C
@@ -4,7 +4,7 @@ template<typename Fun, typename... Args> // { dg-error "template parameter" }
 struct call;
 
 template<typename Fun, typename Arg0>
-struct call // { dg-error "redeclared here" }
+struct call // { dg-message "note: redeclared here" }
 {
     template<typename Sig>
     struct result;
@@ -21,7 +21,7 @@ template<typename Fun, int... N> // { dg-error "template parameter" }
 struct call2;
 
 template<typename Fun, int N>
-struct call2 // { dg-error "redeclared here" }
+struct call2 // { dg-message "note: redeclared here" }
 {
     template<typename Sig>
     struct result;
@@ -37,7 +37,7 @@ template<typename Fun, template<typename> class... TT> // { dg-error "template p
 struct call3;
 
 template<typename Fun, template<typename> class TT>
-struct call3 // { dg-error "redeclared here" }
+struct call3 // { dg-message "note: redeclared here" }
 {
     template<typename Sig>
     struct result;
diff --git a/gcc/testsuite/g++.dg/template/pr59930-2.C b/gcc/testsuite/g++.dg/template/pr59930-2.C
index a7e6ea4..65ec58e 100644
--- a/gcc/testsuite/g++.dg/template/pr59930-2.C
+++ b/gcc/testsuite/g++.dg/template/pr59930-2.C
@@ -6,7 +6,7 @@ namespace N {
     // Injects N::N
     template < T > friend class N;
     // { dg-error "template parameter" "" { target *-*-* } .-1 }
-    // { dg-error "redeclared"  "" { target *-*-* } .-2 }
+    // { dg-message "note: redeclared"  "" { target *-*-* } .-2 }
   };
 }
 
diff --git a/gcc/testsuite/g++.dg/template/pr92440.C b/gcc/testsuite/g++.dg/template/pr92440.C
new file mode 100644
index 0000000..20db5f1
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/pr92440.C
@@ -0,0 +1,10 @@
+// PR c++/92440
+// { dg-do compile }
+
+template <int T> // { dg-error "template parameter" }
+struct S {
+    template <class U>
+    friend struct S;  // { dg-message "note: redeclared here as" }
+};
+
+S<0> s;
diff --git a/gcc/testsuite/g++.dg/template/redecl2.C b/gcc/testsuite/g++.dg/template/redecl2.C
index 4dd432e6..31334f4 100644
--- a/gcc/testsuite/g++.dg/template/redecl2.C
+++ b/gcc/testsuite/g++.dg/template/redecl2.C
@@ -6,4 +6,4 @@
 // non-type template parameter.
 
 template <int i> struct X;	// { dg-error "template parameter" }
-template <int* p> struct X;	// { dg-error "redeclared here" }
+template <int* p> struct X;	// { dg-message "note: redeclared here" }
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C b/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C
index 4a580e1..48517f5d 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/redecl1.C
@@ -16,7 +16,7 @@ template <class T> // { dg-error "template parameter" }
 struct S3;
 
 template <int I>
-struct S3; // { dg-error "redeclared here" } 
+struct S3; // { dg-message "note: redeclared here" } 
 
 template <template <class T> class C>
-struct S3; // { dg-error "redeclared here" } 
+struct S3; // { dg-message "note: redeclared here" }



More information about the Gcc-cvs mailing list