http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56003



             Bug #: 56003

           Summary: SCEV should thread flags ^= 0x80000000 as an addition

                    to discover an IV var.

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: enhancement

          Priority: P3

         Component: tree-optimization

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: hubi...@gcc.gnu.org





In the following testcase we fail to work out that the loop is not really

iterating after unswitching otherwise.

void my_waitpid (int flags, int wnohang)

{

  while (1)

    {

      if (flags & 0x80000000)

        {

          if (wnohang)

            break;

          if (debug_threads)

            __builtin_puts ("blocking\n");

          sigsuspend ();

        }

      flags ^= 0x80000000;

    }

}

Reply via email to