| // { dg-do assemble } |
| // |
| // Copyright (C) 2001 Free Software Foundation, Inc. |
| // Contributed by Nathan Sidwell 25 April 2001 <nathan@codesourcery.com> |
| // Origin:pcarlini@unitus.it |
| |
| // Bug 2559. We hadn't implemented code to mangle numbers bigger than |
| // HOST_WIDE_INT. |
| |
| template<class T, T min_val, T max_val> |
| class integer_traits_base |
| { |
| public: |
| static const bool is_integral = true; |
| }; |
| |
| template<class T> |
| class integer_traits |
| { |
| public: |
| static const bool is_integral = false; |
| }; |
| |
| template<> |
| class integer_traits<long long> |
| : public integer_traits_base<long long, (-9223372036854775807LL - 1), |
| 9223372036854775807LL> |
| { }; |
| |
| integer_traits<long long> f; |
| |
| template <class T, T value> T foo () |
| { |
| return value; |
| } |
| |
| void x () |
| { |
| foo<long long, -9223372036854775807LL> (); |
| } |