1// { dg-do compile }
2// { dg-options "" }
3
4// Copyright (C) 2001, 2003 Free Software Foundation, Inc.
5// Contributed by Nathan Sidwell 21 Mar 2002 <nathan@codesourcery.com>
6
7// PR 5507. Overzealous implicit typename warning
8
9template<typename _CharT>
10class __ctype_abstract_base
11{
12  typedef int mask;
13};
14
15template<typename _CharT>
16class ctype : public __ctype_abstract_base<_CharT>
17{
18  typedef typename ctype::mask mask;
19};
20
21template<typename _CharT>
22class ctype2 : public __ctype_abstract_base<_CharT>
23{
24  typedef mask mask; // { dg-error "does not name a type" "no type" }
25  // { dg-message "note" "note" { target *-*-* } 24 }
26};
27