1 // { dg-do compile } 2 3 // Copyright (C) 2003 Free Software Foundation, Inc. 4 // Contributed by Nathan Sidwell 22 Jul 2003 <nathan@codesourcery.com> 5 6 // PR c++ 11596 7 8 template <int V, bool F = V < 1> struct A { enum { value }; }; 9 template <int V> struct B { enum { value = A<1>::value }; }; 10 int ary[!B<1>::value ? 1 : -1]; 11 12 template <int V, bool F = V < 1> struct A1 { enum { value = 1}; }; 13 template <int V> struct A1<V,false> { enum { value}; }; 14 template <int V> struct B1 { enum { value = A1<1>::value }; }; 15 16 int ary1[!B1<1>::value ? 1 : -1]; 17