1 // { dg-prune-output "-Woverflow" } 2 3 template <long long i> 4 struct Fib 5 { 6 static const long long value // { dg-error "overflow" } 7 = Fib<i-1>::value + Fib<i-2>::value; 8 }; 9 10 template <> 11 struct Fib<0> 12 { 13 static const long long value = 0; 14 }; 15 16 template <> 17 struct Fib<1> 18 { 19 static const long long value = 1; 20 }; 21 22 int main() 23 { 24 return Fib<95>::value; 25 } 26