This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ipa/78599] [7 Regression] hwint.h:292:72: runtime error: shift exponent 64 is too large for 64-bit type 'long int'


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'

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]