summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/920410-1.c
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-01-06 01:47:28 -0800
committerYamaArashi <shadow962@live.com>2016-01-06 01:47:28 -0800
commitbe8b04496302184c6e8f04d6179f9c3afc50aeb6 (patch)
tree726e2468c0c07add773c0dbd86ab6386844259ae /gcc/testsuite/gcc.c-torture/compile/920410-1.c
initial commit
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/920410-1.c')
-rwxr-xr-xgcc/testsuite/gcc.c-torture/compile/920410-1.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/920410-1.c b/gcc/testsuite/gcc.c-torture/compile/920410-1.c
new file mode 100755
index 0000000..4bfa7a6
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/920410-1.c
@@ -0,0 +1,30 @@
+int alloc_float(f)
+ float f;
+{ union
+ {
+ float f;
+ int i;
+ }
+ u;
+ u.f=f;
+ return u.i&~1;
+}
+
+float c_float(int obj)
+{ union
+ {
+ float f;
+ int i;
+ } u;
+
+ u.i=obj;
+ return u.f;
+}
+
+main()
+{ int x=alloc_float(1.2);
+ int y=alloc_float(5.7);
+ int z=alloc_float(c_float(x)*c_float(y));
+
+ printf("%g\n",(double)c_float(z));
+}