2 // { dg-options "-std=gnu++0x" }
6 // 4.5.3 constant expressions
10 constexpr A(int i) : val(i) { }
11 constexpr operator int() { return val; }
12 constexpr operator long() { return -1; }
17 template<int I> struct X { static const int i = I; };
20 X<a> x; // OK: unique conversion to int
21 int ar[X<a>::i]; // also OK
22 int ary[a]; // { dg-error "ambiguous|conversion|array" } ambiguous conversion