aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2015-07-14 16:20:47 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2015-07-14 16:20:47 +0000
commit87679b76c3469211fe25d876d717b64fcbd336c7 (patch)
treea336d92b35e4e0350c0e9c94777420a84d8b6ed1 /gcc/cp
parent721c82511ec2a50292bb8f3ed5bf181ced42b732 (diff)
downloadgcc-87679b76c3469211fe25d876d717b64fcbd336c7.zip
gcc-87679b76c3469211fe25d876d717b64fcbd336c7.tar.gz
gcc-87679b76c3469211fe25d876d717b64fcbd336c7.tar.bz2
pt.c (check_template_shadow): Emit error + inform instead of two errors.
/cp 2015-07-14 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (check_template_shadow): Emit error + inform instead of two errors. /testsuite 2015-07-14 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/template/crash81.C: Adjust for error + inform change. * g++.dg/template/pr58878.C: Likewise. * g++.dg/template/shadow1.C: Likewise. * g++.dg/template/shadow2.C: Likewise. * g++.old-deja/g++.benjamin/tem03.C: Likewise. * g++.old-deja/g++.benjamin/tem04.C: Likewise. * g++.old-deja/g++.brendan/crash7.C: Likewise. * g++.old-deja/g++.pt/shadow2.C: Likewise. From-SVN: r225783
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index df2e0b2..d2e5502 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (check_template_shadow): Emit error + inform instead of
+ two errors.
+
2015-07-13 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/65186
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 2097963..718befd 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -3661,8 +3661,13 @@ check_template_shadow (tree decl)
if (DECL_SELF_REFERENCE_P (decl))
return false;
- error ("declaration of %q+#D", decl);
- error (" shadows template parm %q+#D", olddecl);
+ if (DECL_TEMPLATE_PARM_P (decl))
+ error ("declaration of template parameter %q+D shadows "
+ "template parameter", decl);
+ else
+ error ("declaration of %q+#D shadows template parameter", decl);
+ inform (DECL_SOURCE_LOCATION (olddecl),
+ "template parameter %qD declared here", olddecl);
return false;
}