diff options
author | Martin Liska <mliska@suse.cz> | 2020-01-28 10:26:53 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2020-01-28 10:26:53 +0100 |
commit | d3c00969fe619ae116dfbc07e6b364558acb6e3f (patch) | |
tree | a87b53464a35851f33080583628b11fb8a27e700 | |
parent | 06d481d044ca7126f9d298ad9a4074fafde47ee8 (diff) | |
download | gcc-d3c00969fe619ae116dfbc07e6b364558acb6e3f.zip gcc-d3c00969fe619ae116dfbc07e6b364558acb6e3f.tar.gz gcc-d3c00969fe619ae116dfbc07e6b364558acb6e3f.tar.bz2 |
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.
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/pt.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/vt-34314.C | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/pr59930-2.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/pr92440.C | 10 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/redecl2.C | 2 | ||||
-rw-r--r-- | 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" } |