https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78599
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 ~ % cat bench.ii struct A { enum { __value }; }; template <int, typename _II, typename _OI> _OI __copy_move_a2(_II, _OI); template <typename _II, typename _OI> void copy(_II, _II, _OI p3) { __copy_move_a2<A::__value>(0, p3); } struct B { template <typename> using __iter = B; B(const __iter<int> &); }; struct C { C(int, int); B m_fn1(); }; void run(void(double *, double *)); void deque_test(double *p1, double *p2) { C a(0, 0); B b = a.m_fn1(); copy(p1, p2, b); } int main() { run(deque_test); } markus@x4 ~ % /var/tmp/gcc_ubsan/usr/local/bin/g++ -r -nostdlib -O2 -flto bench.ii ../../gcc/gcc/hwint.h:292:61: runtime error: shift exponent 64 is too large for 64-bit type 'long unsigned int' ../../gcc/gcc/hwint.h:292:72: runtime error: shift exponent 64 is too large for 64-bit type 'long int'