1 // PR c++/24277 2 3 template< int Bits > struct uint_t { 4 typedef unsigned short fast; 5 }; 6 template < 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 }; checksum()11template < int Bits> int checksum ( ) { 12 return 1 & mask_uint_t<Bits>::sig_bits_fast; 13 } 14 int i = checksum<1>(); 15