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