// { dg-do compile } // { dg-options "-g" } // Contributed by: <schmid at snake dot iap dot physik dot tu-darmstadt dot de> // and Niall Douglas <s_gccbugzilla at nedprod dot com> // PR c++/14246: ice in write_template_arg_literal while mangling boolean // expressions. namespace N1 { template <typename T> struct A { enum { Yes = (sizeof(T) == 1) }; }; template<bool T> struct B { void foo(void); }; template struct B< !A<int>::Yes >; } namespace N2 { template<bool> struct A {}; A<!false> a; }