This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]