On ia64:    gcc -O ~/bug.c
On powerpc: gcc -O -m64 ~/bug.c

The test case hits abort.

(This case came up when trying to compile GNU MP with gcc 4.
I have yet to find a platform where gcc 4 works properly.)

This is bug.c:

#include <stdlib.h>

int bar (void)
{  return -1;  }

unsigned long
foo ()
{ unsigned long retval;
  retval = bar ();
  if (retval == -1)  return 0;
  return 3;  }

main ()
{ if (foo () != 0)  abort ();
  return 0;  }

-- 
           Summary: Incorrect folding of comparison
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tege-gcc at swox dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: ia64-redhat-linux, powerpc-apple-darwin8
  GCC host triplet: ia64-redhat-linux, powerpc-apple-darwin8
GCC target triplet: ia64-redhat-linux, powerpc-apple-darwin8


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

Reply via email to