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