1// { dg-do compile } 2 3// Copyright (C) 2003 Free Software Foundation, Inc. 4// Contributed by Nathan Sidwell 4 Sep 2003 <nathan@codesourcery.com> 5// Origin Volker Reichelt reichelt@igpm.rwth-aachen.de 6 7// PR 11922 8 9struct A 10{ 11 template <bool> struct B; 12 struct C; 13}; 14 15template <> struct A::B<false> {}; 16 17template <typename T> void foo() 18{ 19 T::C (); // { dg-error "parsed as a non-type|if a type is meant" } 20 T::template B<false>(); // { dg-error "parsed as a non-type" "non-type" } 21 // { dg-message "if a type" "if a type" { target *-*-* } 20 } 22} 23 24void bar() 25{ 26 foo<A>(); // { dg-message "required" } 27} 28