Move required language extensions into pragmas for shootout.
authorklebinger.andreas@gmx.at <klebinger.andreas@gmx.at>
Sun, 30 Dec 2018 17:52:51 +0000 (12:52 -0500)
committerBen Gamari <ben@smart-cactus.org>
Tue, 1 Jan 2019 17:28:15 +0000 (12:28 -0500)
Summary: That way they are easier to compile with plain calls to ghc.

Test Plan: make clean && make boot && make

Reviewers: O26 nofib, bgamari

Reviewed By: bgamari

Subscribers: bgamari

Differential Revision: https://phabricator.haskell.org/D5437

15 files changed:
shootout/binary-trees/Main.hs
shootout/binary-trees/Makefile
shootout/fannkuch-redux/Main.hs
shootout/fannkuch-redux/Makefile
shootout/fasta/Main.hs
shootout/fasta/Makefile
shootout/k-nucleotide/Main.hs
shootout/k-nucleotide/Makefile
shootout/n-body/Main.hs
shootout/n-body/Makefile
shootout/pidigits/Main.hs
shootout/reverse-complement/Main.hs
shootout/reverse-complement/Makefile
shootout/spectral-norm/Main.hs
shootout/spectral-norm/Makefile

index 8258c71..9c596d9 100644 (file)
@@ -1,3 +1,4 @@
+{-# LANGUAGE BangPatterns #-}
 --
 -- The Computer Language Benchmarks Game
 -- http://benchmarksgame.alioth.debian.org/
@@ -53,7 +54,7 @@ depth d m
   where n = bit (m - d + minN)
 
 -- allocate and check lots of trees
-sumT :: Int -> Int -> Int -> Int       
+sumT :: Int -> Int -> Int -> Int
 sumT d 0 t = t
 sumT  d i t = a `par` b `par` sumT d (i-1) ans
   where a = check (make i    d)
index 2d2d321..7731758 100644 (file)
@@ -8,5 +8,5 @@ SLOW_OPTS = 20  # official shootout setting
 
 # The benchmark game also uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns -funbox-strict-fields
+HC_OPTS += -funbox-strict-fields
 SRC_RUNTEST_OPTS += +RTS -K128M -H200m -RTS
index 157c05d..9b9e817 100644 (file)
@@ -7,6 +7,7 @@
     and run with:
        +RTS -N<number of cores> -RTS <input>
 -}
+{-# LANGUAGE BangPatterns #-}
 
 import Control.Concurrent
 import Control.Monad
@@ -49,7 +50,7 @@ increment !p !ct = do
        first <- peekElemOff p 1
        pokeElemOff p 1 =<< peekElemOff p 0
        pokeElemOff p 0 first
-       
+
        let go !i !first = do
                ci <- peekElemOff ct i
                if fromIntegral ci < i then pokeElemOff ct i (ci+1) else do
index 729955f..b87fdd2 100644 (file)
@@ -6,7 +6,5 @@ FAST_OPTS = 10
 NORM_OPTS = 11
 SLOW_OPTS = 12  # official shootout setting
 
-# The benchmark game also uses -fllvm, which we can't since it might
+# The benchmark game uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns
-
index 070a3f0..3b10ccc 100644 (file)
@@ -4,6 +4,7 @@
 
     contributed by Bryan O'Sullivan
 -}
+{-# LANGUAGE BangPatterns, OverloadedStrings #-}
 
 import Control.Monad
 import Data.ByteString.Unsafe
index 14ecb61..19fa17b 100644 (file)
@@ -13,7 +13,7 @@ SLOW_OPTS = 25000000  # official shootout setting
 
 # The benchmark game also uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns -XOverloadedStrings -package bytestring
+HC_OPTS += -package bytestring
 
 #------------------------------------------------------------------
 # Create output to validate against
index 6963a4d..6783f0b 100644 (file)
@@ -4,6 +4,7 @@
 --
 -- contributed by Stephen Blackheath (with some bits taken from Don Stewart's
 --     version), v1.2
+{-# LANGUAGE BangPatterns #-}
 
 import Text.Printf
 import Data.ByteString.Internal
index 56870ff..6cff15d 100644 (file)
@@ -11,7 +11,7 @@ CLEAN_FILES += fasta-c k-nucleotide.*stdin
 
 # The benchmark game also uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns -package bytestring
+HC_OPTS += -package bytestring
 
 #------------------------------------------------------------------
 # Create input
index d22ddb0..5391020 100644 (file)
@@ -10,6 +10,7 @@
 --
 -- Don't enable -optc-mfpmath=sse -optc-msse2, this triggers a gcc bug on x86
 --
+{-# LANGUAGE BangPatterns #-}
 
 import Foreign (Ptr, Storable(..), plusPtr, mallocBytes)
 import Foreign.Storable
index 2290826..0de067a 100644 (file)
@@ -8,4 +8,4 @@ SLOW_OPTS = 50000000  # official shootout setting
 
 # The benchmark game also uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns -fexcess-precision
+HC_OPTS += -fexcess-precision
index 665641f..137e23a 100644 (file)
@@ -4,6 +4,7 @@
 -- modified by Eugene Kirpichov: pidgits only generates
 -- the result string instead of printing it. For some
 -- reason, this gives a speedup.
+{-# LANGUAGE BangPatterns #-}
 
 import System.Environment
 
index 7f3bdf9..e329dc8 100644 (file)
@@ -4,6 +4,7 @@ http://benchmarksgame.alioth.debian.org/
 
 contributed by Louis Wasserman
 -}
+{-# LANGUAGE BangPatterns, MagicHash, UnboxedTuples #-}
 
 import Control.Monad
 import Foreign
index e3b72b7..306bab4 100644 (file)
@@ -15,8 +15,7 @@ SLOW_OPTS = 25000000  # official shootout setting
 
 # The benchmark game also uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns -funfolding-use-threshold=32 -XMagicHash \
-       -XUnboxedTuples
+HC_OPTS += -funfolding-use-threshold=32
 
 #------------------------------------------------------------------
 # Create input
index 3a52736..4e83277 100644 (file)
@@ -13,6 +13,7 @@
 --     -fexcess-precision -optc-ffast-math
 -- Should be run with:
 --     +RTS -N<number of cores>
+{-# LANGUAGE BangPatterns, MagicHash #-}
 
 import System.Environment
 import Foreign.Marshal.Array
index a0728d9..15cae66 100644 (file)
@@ -8,4 +8,4 @@ SLOW_OPTS = 5500  # official shootout setting
 
 # The benchmark game also uses -fllvm, which we can't since it might
 # not be available on the developer's machine.
-HC_OPTS += -XBangPatterns -XMagicHash -fexcess-precision
+HC_OPTS += -fexcess-precision