summaryrefslogtreecommitdiff
path: root/gcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c
diff options
context:
space:
mode:
authorcamthesaxman <camthesaxman@users.noreply.github.com>2020-01-29 18:17:43 -0600
committercamthesaxman <camthesaxman@users.noreply.github.com>2020-01-29 18:17:43 -0600
commitcdc6e2c50f96119bdc4c1205ff5901ca82ec8357 (patch)
tree3e9217eabcf444e166008411f445315606dded59 /gcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c
parent27176890c4a688ea7de44d3f55af32827016a9fd (diff)
add old compiler with ARM support
Diffstat (limited to 'gcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c')
-rwxr-xr-xgcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c b/gcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c
new file mode 100755
index 0000000..a91a99e
--- /dev/null
+++ b/gcc_arm/testsuite/gcc.c-torture/execute/ieee/rbug.c
@@ -0,0 +1,41 @@
+double d (unsigned long long k)
+{
+ double x;
+
+ x = (double) k;
+ return x;
+}
+
+float s (unsigned long long k)
+{
+ float x;
+
+ x = (float) k;
+ return x;
+}
+
+main ()
+{
+ unsigned long long int k;
+ double x;
+
+ /* CYGNUS LOCAL -- meissner/32bit doubles */
+ if (sizeof (double) >= 8)
+ {
+ k = 0x8693ba6d7d220401ULL;
+ x = d (k);
+ k = (unsigned long long) x;
+ if (k != 0x8693ba6d7d220800ULL)
+ abort ();
+ }
+ /* END CYGNUS LOCAL -- meissner/32bit doubles */
+
+ k = 0x8234508000000001ULL;
+ x = s (k);
+ k = (unsigned long long) x;
+ if (k != 0x8234510000000000ULL)
+ abort ();
+
+ exit (0);
+}
+