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

--- Comment #5 from Sebastian Pop <spop at gcc dot gnu.org> ---
Created attachment 34665
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34665&action=edit
fix

The problem is that we jump thread twice across the loop latch:
first, from

        case '{':
          a = 0;
          b = 15;
          f = f10 ();
          x->c2++;
          break;
through the loop latch to: 

    case 0:
      if (c == ' ')
        x->c2++;
      else if (c == '/')
        {
          a = 4;
          j = x->c2++;
        }
      else
        a = b;

and second, from "a = b;" again across the loop latch to case 15.
Attached patch fixes the wrong code and passes make check.

Reply via email to