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