/* { dg-do run } */ /* { dg-options "-std=c99" } */ unsigned long foo(double d) { return (unsigned long) d; } extern void abort(void); int main(void) { double d; unsigned long l; #ifdef __LP64__ d = 9223372036854775808.7; l = 1LL << 63; if (foo(d) != l) abort(); #endif d = 122485.2; l = 122485; if (foo(d) != l) abort(); return 0; }