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

--- Comment #29 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> ---
And with unsigned too (this should be a bit more readable):

#include <stdio.h>

int main (void)
{
  volatile double d = -1.0;
  double x = d;
  unsigned int i = x;

  printf ("%u\n", i);
  if (x == -1.0)
    printf ("%u\n", i);
  return 0;
}

gives

4294967295
0

Reply via email to