view gcc/testsuite/g++.old-deja/g++.pt/typename28.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do assemble  }
//
// Origin: Jens.Maurer@gmx.net
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 11 Apr 2001 <nathan@codesourcery.com>

// Bug 1844. We can meet types in cp_tree_equal via a template-id-expr.

typedef int *Ptr;

template<class T> struct B
{
  typedef typename T::template X<T> type;
  typedef typename T::template X<Ptr> type2;
  typedef typename T::template X<int *> type3;
  
  void foo (type);
  void baz (type2);
  
};

template<class T> void B<T>::foo (type)
{
}
template<class T> void B<T>::baz (type3)
{
}