This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
The cause of regression PR 8442
- From: Wolfgang Bangerth <bangerth at ticam dot utexas dot edu>
- To: gcc at gcc dot gnu dot org
- Cc: nathan at codesourcery dot com, Janis Johnson <janis187 at us dot ibm dot com>, Craig Rodrigues <rodrigc at attbi dot com>
- Date: Sat, 14 Dec 2002 14:46:09 -0600 (CST)
- Subject: The cause of regression PR 8442
This is the ChangeLog of the patch that introduced the failure in the high
priority PR 8442:
2002-01-02 Nathan Sidwell <nathan@codesourcery.com>
PR c++/5213
* pt.c (convert_template_argument): Be more careful determining
when RECORD_TYPE templates are or are not templates.
The testcase is as follows:
---------------------
template <typename T> struct A {};
template <typename T> struct B
{
template <typename U> struct C {};
template <typename U> A<C<U> > foo(U);
};
B<void> b;
---------------------
and it fails with this (line numbers differ) where it succeeded before:
bash-2.05$ ../gcc/bin-2002-01-03/gcc/cc1plus -quiet PR8442.cc
PR8442.cc: In instantiation of `B<void>':
PR8442.cc:14: instantiated from here
PR8442.cc:11: type/value mismatch at argument 1 in template parameter list for
`template<class T> struct A'
PR8442.cc:11: expected a type, got `C'
PR8442.cc:11: confused by earlier errors, bailing out
Nathan, would you mind taking a look at this?
Regards
Wolfgang
-------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth@ticam.utexas.edu
www: http://www.ticam.utexas.edu/~bangerth