https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111043

--- Comment #7 from David Binderman <dcb314 at hotmail dot com> ---
A third reproducer, with -O3 required:

long g_18;
int g_170, g_759, g_1114;
extern void safe_lshift_func_uint64_t_u_u();
void func_35() {
  int __trans_tmp_1;
  for (; g_759 >= 0; g_759 = g_759 - (long)7) {
    g_170 = 0;
    if (__trans_tmp_1)
      return;
    if (g_1114)
      safe_lshift_func_uint64_t_u_u();
  }
}
void func_20() {
  int __trans_tmp_2;
  g_18 = 7;
  for (; g_18 >= 0; g_18 -= 1)
    __attribute__(()) int right = g_18;
  __trans_tmp_2 = right < 0 || right >= 2 ?: right;
  if (__trans_tmp_2)
    for (;;)
      ;
  func_35();
}

Reply via email to