aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <sayle@gcc.gnu.org>2002-07-07 18:56:18 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2002-07-07 18:56:18 +0000
commit78abea278bf8ce0d6cf3735e5306f2644abbc643 (patch)
treeb9fbc3f2b3fb6227eb7794915f3cbd7f3b1dbd5c
parent957ec0f922c129dac8847f40246dd868044be0f0 (diff)
downloadgcc-78abea278bf8ce0d6cf3735e5306f2644abbc643.zip
gcc-78abea278bf8ce0d6cf3735e5306f2644abbc643.tar.gz
gcc-78abea278bf8ce0d6cf3735e5306f2644abbc643.tar.bz2
error.c (dump_function_name): Use DECL_TEMPLATE_RESULT for constructor and destructor tests when...
* error.c (dump_function_name): Use DECL_TEMPLATE_RESULT for constructor and destructor tests when passed a TEMPLATE_DECL. * g++.dg/template/qualttp21.C: New test case. From-SVN: r55304
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/error.c3
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/g++.dg/template/qualttp21.C17
4 files changed, 31 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 1c4b06d..72eb660 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2002-07-07 Roger Sayle <roger@eyesopen.com>
+
+ * error.c (dump_function_name): Use DECL_TEMPLATE_RESULT for
+ constructor and destructor tests when passed a TEMPLATE_DECL.
+
2002-07-05 Jason Merrill <jason@redhat.com>
* cvt.c (cp_convert_to_pointer): Call force_fit_type for null
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index 678ffd0..8bef22c 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1236,6 +1236,9 @@ dump_function_name (t, flags)
{
tree name = DECL_NAME (t);
+ if (TREE_CODE (t) == TEMPLATE_DECL)
+ t = DECL_TEMPLATE_RESULT (t);
+
/* Don't let the user see __comp_ctor et al. */
if (DECL_CONSTRUCTOR_P (t)
|| DECL_DESTRUCTOR_P (t))
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0d8df23..8a1273e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,9 +1,14 @@
+2002-07-07 Roger Sayle <roger@eyesopen.com>
+
+ * g++.dg/template/qualttp21.C: New test case.
+
2002-07-06 Alexandre Oliva <aoliva@redhat.com>
* gcc.c-torture/compile/20020706-1.c: New test.
* gcc.c-torture/compile/20020706-2.c: New test.
-2002-07-06 Brian R. Gaeke <brg@dgate.ORG>, Alexandre Oliva <aoliva@redhat.com>
+2002-07-06 Brian R. Gaeke <brg@dgate.ORG>
+ Alexandre Oliva <aoliva@redhat.com>
* g++.dg/warn/incomplete1.C: New test.
diff --git a/gcc/testsuite/g++.dg/template/qualttp21.C b/gcc/testsuite/g++.dg/template/qualttp21.C
new file mode 100644
index 0000000..00fcf40
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/qualttp21.C
@@ -0,0 +1,17 @@
+// Copyright (C) 2002 Free Software Foundation
+// Contributed by Roger Sayle <roger@eyesopen.com>
+// { dg-do compile }
+
+template <class A>
+class foo {
+ int _foo;
+public:
+ foo() {}
+protected:
+ ~foo() {} // { dg-error "~foo" }
+};
+
+int main()
+{
+ foo<int> a; // { dg-error "context" }
+}