libstdc++: Define __glibcxx_assert_fail for non-verbose build [PR115585]
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / ieee / mzero5.c
blob6c236394975cbf9435000f4e649a218a21f260ed
1 /* Test gcse handling of IEEE 0/-0 rules. */
2 void abort (void);
3 static double zero = 0.0;
5 int
6 negzero_check (double d)
8 if (d == 0)
9 return !!__builtin_memcmp ((void *)&zero, (void *)&d, sizeof (double));
10 return 0;
13 int
14 sub (double d, double e)
16 if (d == 0.0 && e == 0.0
17 && negzero_check (d) == 0 && negzero_check (e) == 0)
18 return 1;
19 else
20 return 0;
23 int
24 main (void)
26 double minus_zero = -0.0;
27 if (sub (minus_zero, 0))
28 abort ();
29 return 0;