summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/T4306.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/simplCore/should_compile/T4306.hs')
-rw-r--r--testsuite/tests/simplCore/should_compile/T4306.hs12
1 files changed, 12 insertions, 0 deletions
diff --git a/testsuite/tests/simplCore/should_compile/T4306.hs b/testsuite/tests/simplCore/should_compile/T4306.hs
new file mode 100644
index 0000000000..ba32981f61
--- /dev/null
+++ b/testsuite/tests/simplCore/should_compile/T4306.hs
@@ -0,0 +1,12 @@
+-- Trac #4306
+-- Check that the worker for 'upd' has only one argument
+
+module T4306 where
+
+data D = D {-# UNPACK #-} !Double {-# UNPACK #-} !Double
+data UPD = UPD {-# UNPACK #-} !Double D
+
+upd (UPD _ (D x _)) = sqrt $! (x*x + x*x + sin x + x*x + x*x + cos x + x*x + x*x + tan x +
+ x*x + x*x + sin x + x*x + x*x + cos x + x*x + x*x + tan x +
+ x*x + x*x + sin x + x*x + x*x + cos x + x*x + x*x + tan x)
+ -- make the rhs large enough to be worker/wrapperred