From ce68b757b3620e75e330f77cc1ed1d491292ff3e Mon Sep 17 00:00:00 2001 From: Ian Lynagh <igloo@earth.li> Date: Fri, 13 Jul 2012 19:44:47 +0100 Subject: [PATCH] Add a couple of tests for gcdInteger --- testsuite/tests/lib/integer/Makefile | 6 ++++++ testsuite/tests/lib/integer/T7041.hs | 6 ++++++ testsuite/tests/lib/integer/all.T | 5 +++++ testsuite/tests/lib/integer/gcdInteger.hs | 17 +++++++++++++++++ testsuite/tests/lib/integer/gcdInteger.stdout | 1 + 5 files changed, 35 insertions(+) create mode 100644 testsuite/tests/lib/integer/T7041.hs create mode 100644 testsuite/tests/lib/integer/gcdInteger.hs create mode 100644 testsuite/tests/lib/integer/gcdInteger.stdout diff --git a/testsuite/tests/lib/integer/Makefile b/testsuite/tests/lib/integer/Makefile index 34d5a177baf..77b733de322 100644 --- a/testsuite/tests/lib/integer/Makefile +++ b/testsuite/tests/lib/integer/Makefile @@ -56,3 +56,9 @@ IntegerConversionRules: -grep -q integerToWord $@.simpl && echo "integerToWord present" -grep -q int2Word $@.simpl || echo "int2Word absent" +.PHONY: T7041 +T7041: + '$(TEST_HC)' -Wall -v0 -O -c $@.hs -fforce-recomp -ddump-simpl > $@.simpl + -grep -q gcdInteger $@.simpl && echo "gcdInteger present" + -grep -q "gcdInt\>" $@.simpl || echo "gcdInt absent" + diff --git a/testsuite/tests/lib/integer/T7041.hs b/testsuite/tests/lib/integer/T7041.hs new file mode 100644 index 00000000000..02ef996b426 --- /dev/null +++ b/testsuite/tests/lib/integer/T7041.hs @@ -0,0 +1,6 @@ + +module T7041 where + +gcdInt :: Int -> Int -> Int +gcdInt a b = fromInteger (gcd (toInteger a) (toInteger b)) + diff --git a/testsuite/tests/lib/integer/all.T b/testsuite/tests/lib/integer/all.T index 99056d6b142..cb5767580cf 100644 --- a/testsuite/tests/lib/integer/all.T +++ b/testsuite/tests/lib/integer/all.T @@ -12,4 +12,9 @@ test('IntegerConversionRules', extra_clean(['IntegerConversionRules.simpl']), run_command, ['$MAKE -s --no-print-directory IntegerConversionRules']) +test('gcdInteger', normal, compile_and_run, ['']) +test('T7041', + extra_clean(['T7041.simpl']), + run_command, + ['$MAKE -s --no-print-directory T7041']) diff --git a/testsuite/tests/lib/integer/gcdInteger.hs b/testsuite/tests/lib/integer/gcdInteger.hs new file mode 100644 index 00000000000..2e945a876af --- /dev/null +++ b/testsuite/tests/lib/integer/gcdInteger.hs @@ -0,0 +1,17 @@ + +{-# LANGUAGE MagicHash #-} + +module Main (main) where + +import GHC.Base +import GHC.Integer + +main :: IO () +main = case i of + I# i# -> + print (gcd (smallInteger i#) (smallInteger i#)) + +{-# NOINLINE i #-} +i :: Int +i = minBound + diff --git a/testsuite/tests/lib/integer/gcdInteger.stdout b/testsuite/tests/lib/integer/gcdInteger.stdout new file mode 100644 index 00000000000..b0898f38f81 --- /dev/null +++ b/testsuite/tests/lib/integer/gcdInteger.stdout @@ -0,0 +1 @@ +9223372036854775808 -- GitLab