diff options
author | Roger Sayle <sayle@gcc.gnu.org> | 2002-07-07 18:56:18 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2002-07-07 18:56:18 +0000 |
commit | 78abea278bf8ce0d6cf3735e5306f2644abbc643 (patch) | |
tree | b9fbc3f2b3fb6227eb7794915f3cbd7f3b1dbd5c | |
parent | 957ec0f922c129dac8847f40246dd868044be0f0 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/error.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/qualttp21.C | 17 |
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" } +} |