1 // { dg-do compile }
2 
3 // Copyright (C) 2003 Free Software Foundation, Inc.
4 // Contributed by Nathan Sidwell 24 Jan 2003 <nathan@codesourcery.com>
5 
6 // PR 9403. We failed to parse template keyword, and we accepted code
7 // which required one.
8 
9 template<bool> struct Outer;
10 
11 template <bool b, typename T>
12 struct X : Outer<b>::template Inner<T>
13 {};
14 
15 template <bool b, typename T>
16 struct Y : Outer<b>::Inner<T> {}; // { dg-error "used as template" "temp" }
17 // { dg-error "expected" "exp" { target *-*-* } .-1 }
18 // { dg-message "note" "note" { target *-*-* } .-2 }
19 
20