Bug in real.c rewrite

law@redhat.com law@redhat.com
Tue Feb 25 00:51:00 GMT 2003


The real.c rewrite that went into the tree in September has at least
one buglet left.


Consider this test (derived from conversion.c):

main()
{
  if (((unsigned long long int)((float) ~((~0ULL) >> 1))) != 
0x8000000000000000ULL)
    abort();
  exit (0);
}

The problem is the RHS of the comparison is computed as 0x7fffffffffffffff
rather than 0x8000000000000000.  This (of course) causes the test to
fail.  It works fine with a compiler from just before the rewrite.


Jeff




More information about the Gcc mailing list