1// PR c++/24277
2
3template< int Bits > struct uint_t {
4  typedef unsigned short fast;
5};
6template < int Bits > struct mask_uint_t {
7  typedef typename uint_t< Bits >::fast fast;
8  static const fast sig_bits = 1;
9  static const fast sig_bits_fast = fast(sig_bits);
10};
11template < int Bits> int checksum ( ) {
12  return 1 & mask_uint_t<Bits>::sig_bits_fast;
13}
14int i = checksum<1>();
15