aboutsummaryrefslogtreecommitdiff
path: root/SingleSource/Regression/C/gcc-c-torture/execute/ieee/minuszero.c
diff options
context:
space:
mode:
Diffstat (limited to 'SingleSource/Regression/C/gcc-c-torture/execute/ieee/minuszero.c')
-rw-r--r--SingleSource/Regression/C/gcc-c-torture/execute/ieee/minuszero.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/SingleSource/Regression/C/gcc-c-torture/execute/ieee/minuszero.c b/SingleSource/Regression/C/gcc-c-torture/execute/ieee/minuszero.c
new file mode 100644
index 00000000..85715261
--- /dev/null
+++ b/SingleSource/Regression/C/gcc-c-torture/execute/ieee/minuszero.c
@@ -0,0 +1,22 @@
+main ()
+{
+ union
+ {
+ double d;
+ unsigned short i[sizeof (double) / sizeof (short)];
+ } u;
+ int a = 0;
+ int b = -5;
+ int j;
+
+ u.d = (double) a / b;
+
+ /* Look for the right pattern, but be sloppy since
+ we don't know the byte order. */
+ for (j = 0; j < sizeof (double) / sizeof (short); j++)
+ {
+ if (u.i[j] == 0x8000)
+ exit (0);
+ }
+ abort ();
+}