Commit 6215d4c8 authored by ian@well-typed.com's avatar ian@well-typed.com

Fix tests for dynamic ghc

parent f3da8ce8
...@@ -70,6 +70,8 @@ else: ...@@ -70,6 +70,8 @@ else:
if (ghc_with_dynamic_rts == 1): if (ghc_with_dynamic_rts == 1):
config.run_ways.append('dyn') config.run_ways.append('dyn')
config.ghc_dynamic = ghc_dynamic
if (ghc_with_profiling == 1 and ghc_with_threaded_rts == 1): if (ghc_with_profiling == 1 and ghc_with_threaded_rts == 1):
config.run_ways.append('profthreaded') config.run_ways.append('profthreaded')
...@@ -200,3 +202,15 @@ def get_compiler_info(): ...@@ -200,3 +202,15 @@ def get_compiler_info():
except: except:
config.package_conf_cache_file = '' config.package_conf_cache_file = ''
if compilerInfoDict["GHC Dynamic"] == "YES":
config.ghc_th_way_flags = "-dynamic"
config.ghci_way_flags = "-dynamic"
config.ghc_th_way = "dyn"
config.ghc_plugin_way = "dyn"
elif compilerInfoDict["GHC Dynamic"] == "NO":
config.ghc_th_way_flags = "-static"
config.ghci_way_flags = "-static"
config.ghc_plugin_way = "normal"
else:
raise 'Bad value for "GHC Dynamic"'
...@@ -308,7 +308,7 @@ def doing_ghci(): ...@@ -308,7 +308,7 @@ def doing_ghci():
return 'ghci' in config.run_ways return 'ghci' in config.run_ways
def ghci_dynamic( ): def ghci_dynamic( ):
return config.ghc_dynamic_by_default return config.ghc_dynamic
def fast(): def fast():
return config.fast return config.fast
......
...@@ -164,6 +164,16 @@ ifeq "$(findstring clean,$(MAKECMDGOALS))" "" ...@@ -164,6 +164,16 @@ ifeq "$(findstring clean,$(MAKECMDGOALS))" ""
include $(ghc-config-mk) include $(ghc-config-mk)
endif endif
ifeq "$(GhcDynamic)" "YES"
ghcThWayFlags = -dynamic
ghciWayFlags = -dynamic
ghcPluginWayFlags = -dynamic
else
ghcThWayFlags = -static
ghciWayFlags = -static
ghcPluginWayFlags = -static
endif
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
ifeq "$(HostOS)" "mingw32" ifeq "$(HostOS)" "mingw32"
......
...@@ -24,6 +24,7 @@ main = do ...@@ -24,6 +24,7 @@ main = do
getGhcFieldOrFail fields "GhcWithSMP" "Support SMP" getGhcFieldOrFail fields "GhcWithSMP" "Support SMP"
getGhcFieldOrFail fields "GhcRTSWays" "RTS ways" getGhcFieldOrFail fields "GhcRTSWays" "RTS ways"
getGhcFieldOrDefault fields "GhcDynamicByDefault" "Dynamic by default" "NO" getGhcFieldOrDefault fields "GhcDynamicByDefault" "Dynamic by default" "NO"
getGhcFieldOrDefault fields "GhcDynamic" "GHC Dynamic" "NO"
getGhcFieldProgWithDefault fields "AR" "ar command" "ar" getGhcFieldProgWithDefault fields "AR" "ar command" "ar"
let pkgdb_flag = case lookup "Project version" fields of let pkgdb_flag = case lookup "Project version" fields of
......
...@@ -104,6 +104,14 @@ RUNTEST_OPTS += -e ghc_dynamic_by_default=False ...@@ -104,6 +104,14 @@ RUNTEST_OPTS += -e ghc_dynamic_by_default=False
CABAL_MINIMAL_BUILD = --enable-library-vanilla --disable-shared CABAL_MINIMAL_BUILD = --enable-library-vanilla --disable-shared
endif endif
ifeq "$(GhcDynamic)" "YES"
RUNTEST_OPTS += -e ghc_dynamic=True
CABAL_PLUGIN_BUILD = --enable-shared --disable-library-vanilla
else
RUNTEST_OPTS += -e ghc_dynamic=False
CABAL_PLUGIN_BUILD = --enable-library-vanilla --disable-shared
endif
ifeq "$(GhcWithSMP)" "YES" ifeq "$(GhcWithSMP)" "YES"
RUNTEST_OPTS += -e ghc_with_smp=1 RUNTEST_OPTS += -e ghc_with_smp=1
else else
......
...@@ -486,9 +486,9 @@ T3364: ...@@ -486,9 +486,9 @@ T3364:
.PHONY: T706 .PHONY: T706
T706: T706:
cp T706a.hs T706.hs cp T706a.hs T706.hs
"$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c T706.hs "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) $(ghciWayFlags) -c T706.hs
cp T706b.hs T706.hs cp T706b.hs T706.hs
"$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -c T706.hs "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) $(ghciWayFlags) -c T706.hs
echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --interactive -ignore-dot-ghci -v0 T706 echo "test" | "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) --interactive -ignore-dot-ghci -v0 T706
.PHONY: T5584 .PHONY: T5584
......
...@@ -18,9 +18,9 @@ clean: ...@@ -18,9 +18,9 @@ clean:
recomp009: clean recomp009: clean
cp Sub1.hs Sub.hs cp Sub1.hs Sub.hs
'$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 --make Main.hs '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) $(ghcThWayFlags) -v0 --make Main.hs
./Main ./Main
sleep 1 sleep 1
cp Sub2.hs Sub.hs cp Sub2.hs Sub.hs
-'$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 --make Main.hs -'$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) $(ghcThWayFlags) -v0 --make Main.hs
./Main ./Main
...@@ -6,10 +6,10 @@ ffi018_ghci_setup : ...@@ -6,10 +6,10 @@ ffi018_ghci_setup :
'$(TEST_HC)' $(TEST_HC_OPTS) -c ffi018_ghci_c.c '$(TEST_HC)' $(TEST_HC_OPTS) -c ffi018_ghci_c.c
T1288_ghci_setup : T1288_ghci_setup :
'$(TEST_HC)' $(TEST_HC_OPTS) -c T1288_ghci_c.c '$(TEST_HC)' $(TEST_HC_OPTS) $(ghciWayFlags) -c T1288_ghci_c.c
T2276_ghci_setup : T2276_ghci_setup :
'$(TEST_HC)' $(TEST_HC_OPTS) -c T2276_ghci_c.c '$(TEST_HC)' $(TEST_HC_OPTS) $(ghciWayFlags) -c T2276_ghci_c.c
ffi002_setup : ffi002_setup :
'$(TEST_HC)' $(TEST_HC_OPTS) -c ffi002.hs '$(TEST_HC)' $(TEST_HC_OPTS) -c ffi002.hs
......
...@@ -2,4 +2,4 @@ test('dynCompileExpr', ...@@ -2,4 +2,4 @@ test('dynCompileExpr',
[ extra_run_opts('"' + config.libdir + '"'), [ extra_run_opts('"' + config.libdir + '"'),
when(opsys('mingw32'), expect_broken_for(5987, ['dyn'])), when(opsys('mingw32'), expect_broken_for(5987, ['dyn'])),
omit_ways(prof_ways) ], # cannot run interpreted code with -prof omit_ways(prof_ways) ], # cannot run interpreted code with -prof
compile_and_run, ['-package ghc']) compile_and_run, ['-package ghc ' + config.ghci_way_flags])
test('prog001', test('prog001',
extra_clean(['C.hs', 'D.hs', 'D.hi', 'D.o']), [extra_clean(['C.hs', 'D.hs', 'D.hi', 'D.o']),
cmd_prefix('ghciWayFlags=' + config.ghci_way_flags)],
ghci_script, ['prog001.script']) ghci_script, ['prog001.script'])
...@@ -26,13 +26,13 @@ main ...@@ -26,13 +26,13 @@ main
main main
-- compile D & reload -- compile D & reload
:shell "$HC" $HC_OPTS -fforce-recomp -c D.hs :shell "$HC" $HC_OPTS $ghciWayFlags -fforce-recomp -c D.hs
:reload :reload
main main
-- change D, recompile & reload -- change D, recompile & reload
:shell cp D2.hs D.hs :shell cp D2.hs D.hs
:shell "$HC" $HC_OPTS -fforce-recomp -c D.hs :shell "$HC" $HC_OPTS $ghciWayFlags -fforce-recomp -c D.hs
:reload :reload
:load A.hs :load A.hs
......
test('prog002', extra_clean(['A.hs', 'A.hi', 'A.o']), test('prog002',
[extra_clean(['A.hs', 'A.hi', 'A.o']),
cmd_prefix('ghciWayFlags=' + config.ghci_way_flags)],
ghci_script, ['prog002.script']) ghci_script, ['prog002.script'])
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
:load D.hs :load D.hs
-- compile A & reload -- compile A & reload
:shell "$HC" $HC_OPTS -fforce-recomp -c A.hs :shell "$HC" $HC_OPTS $ghciWayFlags -fforce-recomp -c A.hs
:reload :reload
B.g 42 B.g 42
...@@ -21,7 +21,7 @@ B.g 42 ...@@ -21,7 +21,7 @@ B.g 42
-- swap A2 for A, compile & reload -- swap A2 for A, compile & reload
:shell sleep 1 :shell sleep 1
:shell cp A2.hs A.hs :shell cp A2.hs A.hs
:shell "$HC" $HC_OPTS -fforce-recomp -c A.hs :shell "$HC" $HC_OPTS $ghciWayFlags -fforce-recomp -c A.hs
:reload :reload
-- the system should ignore the compiled version and compile its own. -- the system should ignore the compiled version and compile its own.
......
test('prog003', test('prog003',
extra_clean(['D.hs', 'D.hi', 'C.hi', 'C.o', 'B.hi', 'B.o', [extra_clean(['D.hs', 'D.hi', 'C.hi', 'C.o', 'B.hi', 'B.o',
'A', 'A.hi', 'A.o', 'a.out']), 'A', 'A.hi', 'A.o', 'a.out']),
cmd_prefix('ghciWayFlags=' + config.ghci_way_flags)],
ghci_script, ghci_script,
['prog003.script']) ['prog003.script'])
...@@ -28,7 +28,7 @@ a 42 ...@@ -28,7 +28,7 @@ a 42
putStrLn "Run 3" putStrLn "Run 3"
-- compile D, check that :reload doesn't pick it up -- compile D, check that :reload doesn't pick it up
:shell "$HC" $HC_OPTS -c D.hs :shell "$HC" $HC_OPTS $ghciWayFlags -c D.hs
:reload :reload
:type (A.a,B.b,C.c,D.d) :type (A.a,B.b,C.c,D.d)
a 42 a 42
...@@ -41,21 +41,21 @@ a 42 ...@@ -41,21 +41,21 @@ a 42
putStrLn "Run 5" putStrLn "Run 5"
-- D,C compiled -- D,C compiled
:shell "$HC" $HC_OPTS -c C.hs :shell "$HC" $HC_OPTS $ghciWayFlags -c C.hs
:load A :load A
:type (A.a,B.b,C.c,D.d) :type (A.a,B.b,C.c,D.d)
a 42 a 42
putStrLn "Run 6" putStrLn "Run 6"
-- D,C,B compiled -- D,C,B compiled
:shell "$HC" $HC_OPTS -c B.hs :shell "$HC" $HC_OPTS $ghciWayFlags -c B.hs
:load A :load A
:type (A.a,B.b,C.c,D.d) :type (A.a,B.b,C.c,D.d)
a 42 a 42
putStrLn "Run 7" putStrLn "Run 7"
-- D,C,B,A compiled -- D,C,B,A compiled
:shell "$HC" $HC_OPTS -c A.hs :shell "$HC" $HC_OPTS $ghciWayFlags -c A.hs
:load A :load A
:type (A.a,B.b,C.c,D.d) :type (A.a,B.b,C.c,D.d)
a 42 a 42
...@@ -83,7 +83,7 @@ a 42 ...@@ -83,7 +83,7 @@ a 42
putStrLn "Run 11" putStrLn "Run 11"
-- A,B,C compiled (better not use A.o, B.o, C.o) -- A,B,C compiled (better not use A.o, B.o, C.o)
:shell "$HC" $HC_OPTS --make -v0 A :shell "$HC" $HC_OPTS $ghciWayFlags --make -v0 A
:shell rm D.o :shell rm D.o
:load A :load A
:type (A.a,B.b,C.c,D.d) :type (A.a,B.b,C.c,D.d)
......
...@@ -5,6 +5,6 @@ include $(TOP)/mk/test.mk ...@@ -5,6 +5,6 @@ include $(TOP)/mk/test.mk
.PHONY: plugins01 .PHONY: plugins01
plugins01: plugins01:
"$(TEST_HC)" $(TEST_HC_OPTS) --make -v0 plugins01.hs -package-db simple-plugin/pkg.plugins01/local.package.conf -fplugin Simple.Plugin -fplugin-opt Simple.Plugin:Irrelevant_Option -package simple-plugin "$(TEST_HC)" $(TEST_HC_OPTS) $(ghcPluginWayFlags) --make -v0 plugins01.hs -package-db simple-plugin/pkg.plugins01/local.package.conf -fplugin Simple.Plugin -fplugin-opt Simple.Plugin:Irrelevant_Option -package simple-plugin
./plugins01 ./plugins01
...@@ -29,11 +29,11 @@ test('plugins04', ...@@ -29,11 +29,11 @@ test('plugins04',
test('plugins05', test('plugins05',
[ extra_clean(['HomePackagePlugin.hi', 'HomePackagePlugin.o']), [ extra_clean(['HomePackagePlugin.hi', 'HomePackagePlugin.o']),
expect_fail_for(['dyn'] + prof_ways) ], only_ways([config.ghc_plugin_way]) ],
multimod_compile_and_run, ['plugins05', '-package ghc']) multimod_compile_and_run, ['plugins05', '-package ghc'])
test('plugins06', test('plugins06',
[ extra_clean(['LinkerTicklingPlugin.hi', 'LinkerTicklingPlugin.o']), [ extra_clean(['LinkerTicklingPlugin.hi', 'LinkerTicklingPlugin.o']),
expect_fail_for(['dyn'] + prof_ways) ], only_ways([config.ghc_plugin_way]) ],
multimod_compile_and_run, ['plugins06', '-package ghc']) multimod_compile_and_run, ['plugins06', '-package ghc'])
...@@ -15,6 +15,6 @@ package.%: ...@@ -15,6 +15,6 @@ package.%:
echo "[]" > pkg.$*/local.package.conf echo "[]" > pkg.$*/local.package.conf
pkg.$*/setup configure --distdir pkg.$*/dist -v0 $(CABAL_MINIMAL_BUILD) --prefix="$(HERE)/pkg.$*/install" --with-compiler="$(TEST_HC)" --with-hc-pkg="$(GHC_PKG)" --package-db=pkg.$*/local.package.conf pkg.$*/setup configure --distdir pkg.$*/dist -v0 $(CABAL_PLUGIN_BUILD) --prefix="$(HERE)/pkg.$*/install" --with-compiler="$(TEST_HC)" --with-hc-pkg="$(GHC_PKG)" --package-db=pkg.$*/local.package.conf
pkg.$*/setup build --distdir pkg.$*/dist -v0 pkg.$*/setup build --distdir pkg.$*/dist -v0
pkg.$*/setup install --distdir pkg.$*/dist -v0 pkg.$*/setup install --distdir pkg.$*/dist -v0
...@@ -24,9 +24,9 @@ T6054: ...@@ -24,9 +24,9 @@ T6054:
T7022: T7022:
$(RM) -f T7022.hi T7022.o T7022a.hi T7022a.o T7022b.hi T7022b.o $(RM) -f T7022.hi T7022.o T7022a.hi T7022a.o T7022b.hi T7022b.o
'$(TEST_HC)' $(TEST_HC_OPTS) -c T7022a.hs '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -c T7022a.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -c T7022b.hs -v0 '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -c T7022b.hs -v0
-'$(TEST_HC)' $(TEST_HC_OPTS) -c -v0 T7022.hs -'$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -c -v0 T7022.hs
T7438: T7438:
$(RM) -f T7438.hi T7438.o T7438a.hi T7438a.o $(RM) -f T7438.hi T7438.o T7438a.hi T7438a.o
......
...@@ -2,9 +2,9 @@ test('T4491', ...@@ -2,9 +2,9 @@ test('T4491',
[ [
req_interp, req_interp,
# We'd need to jump through some hoops to run this test the # We'd need to jump through some hoops to run this test the
# in the prof or dyn ways, due to the TH use, so for now we just # other ways, due to the TH use, so for now we only run it
# omit the other ways # the TH way
omit_ways(['profasm','profthreaded','dyn']), only_ways([config.ghc_th_way]),
only_compiler_types(['ghc']), only_compiler_types(['ghc']),
extra_clean(['A.hi', 'A.o']) extra_clean(['A.hi', 'A.o'])
], ],
......
...@@ -61,4 +61,4 @@ T7037: ...@@ -61,4 +61,4 @@ T7037:
./T7037_main ./T7037_main
T7040_ghci_setup : T7040_ghci_setup :
'$(TEST_HC)' $(TEST_HC_OPTS) -c T7040_ghci_c.c '$(TEST_HC)' $(TEST_HC_OPTS) $(ghciWayFlags) -c T7040_ghci_c.c
...@@ -36,7 +36,7 @@ test('SafeLang11', ...@@ -36,7 +36,7 @@ test('SafeLang11',
extra_clean(['SafeLang11_A.o', 'SafeLang11_A.hi', extra_clean(['SafeLang11_A.o', 'SafeLang11_A.hi',
'SafeLang11_B.o', 'SafeLang11_B.hi'])], 'SafeLang11_B.o', 'SafeLang11_B.hi'])],
multimod_compile_and_run, multimod_compile_and_run,
['SafeLang11', '']) ['SafeLang11', config.ghc_th_way_flags])
test('SafeLang12', normal, multimod_compile_fail, ['SafeLang12', '']) test('SafeLang12', normal, multimod_compile_fail, ['SafeLang12', ''])
test('SafeLang13', test('SafeLang13',
extra_clean(['SafeLang13_A.o', 'SafeLang13_A.hi']), extra_clean(['SafeLang13_A.o', 'SafeLang13_A.hi']),
......
...@@ -5,12 +5,12 @@ include $(TOP)/mk/test.mk ...@@ -5,12 +5,12 @@ include $(TOP)/mk/test.mk
# Trac 2386 requires batch-compile not --make # Trac 2386 requires batch-compile not --make
# Very important: without -O # Very important: without -O
T2386: T2386:
'$(TEST_HC)' $(TEST_HC_OPTS) -v0 -c T2386_Lib.hs -fforce-recomp '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -v0 -c T2386_Lib.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -v0 -c T2386.hs -fforce-recomp '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -v0 -c T2386.hs
T7445: T7445:
'$(TEST_HC)' $(TEST_HC_OPTS) -v0 -c T7445a.hs -fforce-recomp '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -v0 -c T7445a.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -v0 -c T7445.hs -fforce-recomp '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -v0 -c T7445.hs
HC_OPTS = -XTemplateHaskell -package template-haskell HC_OPTS = -XTemplateHaskell -package template-haskell
...@@ -27,10 +27,10 @@ TH_Depends: ...@@ -27,10 +27,10 @@ TH_Depends:
$(RM) TH_Depends.o TH_Depends.hi $(RM) TH_Depends.o TH_Depends.hi
$(RM) TH_Depends_External.o TH_Depends_External.hi $(RM) TH_Depends_External.o TH_Depends_External.hi
echo "first run" > TH_Depends_external.txt echo "first run" > TH_Depends_external.txt
'$(TEST_HC)' $(TEST_HC_OPTS) --make -v0 TH_Depends '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) --make -v0 TH_Depends
./TH_Depends ./TH_Depends
sleep 2 sleep 2
echo "second run" > TH_Depends_external.txt echo "second run" > TH_Depends_external.txt
'$(TEST_HC)' $(TEST_HC_OPTS) --make -v0 TH_Depends '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) --make -v0 TH_Depends
./TH_Depends ./TH_Depends
...@@ -3,7 +3,7 @@ include $(TOP)/mk/boilerplate.mk ...@@ -3,7 +3,7 @@ include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/test.mk include $(TOP)/mk/test.mk
T2014 : T2014 :
'$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c A.hs-boot '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -fforce-recomp -c A.hs-boot
'$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c A.hs '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -fforce-recomp -c A.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c B.hs '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -fforce-recomp -c B.hs
'$(TEST_HC)' $(TEST_HC_OPTS) -fforce-recomp -c C.hs -v0 '$(TEST_HC)' $(TEST_HC_OPTS) $(ghcThWayFlags) -fforce-recomp -c C.hs -v0
...@@ -11,4 +11,4 @@ setTestOpts(when(compiler_profiled(), skip)) ...@@ -11,4 +11,4 @@ setTestOpts(when(compiler_profiled(), skip))
test('TH_spliceViewPat', test('TH_spliceViewPat',
extra_clean(['Main.o', 'Main.hi', 'A.o', 'A.hi']), extra_clean(['Main.o', 'Main.hi', 'A.o', 'A.hi']),
multimod_compile_and_run, multimod_compile_and_run,
['Main', '']) ['Main', config.ghc_th_way_flags])
...@@ -32,14 +32,14 @@ test('TH_repPatSig', normal, compile_fail, ['']) ...@@ -32,14 +32,14 @@ test('TH_repPatSig', normal, compile_fail, [''])
test('TH_spliceE5', test('TH_spliceE5',
extra_clean(['TH_spliceE5_Lib.hi', 'TH_spliceE5_Lib.o']), extra_clean(['TH_spliceE5_Lib.hi', 'TH_spliceE5_Lib.o']),
multimod_compile_and_run, multimod_compile_and_run,
['TH_spliceE5.hs', '-v0']) ['TH_spliceE5.hs', '-v0 ' + config.ghc_th_way_flags])
test('TH_spliceE6', normal, compile, ['-v0']) test('TH_spliceE6', normal, compile, ['-v0'])
test('TH_NestedSplices', test('TH_NestedSplices',
extra_clean(['TH_NestedSplices_Lib.hi', 'TH_NestedSplices_Lib.o']), extra_clean(['TH_NestedSplices_Lib.hi', 'TH_NestedSplices_Lib.o']),
multimod_compile, multimod_compile,
['TH_NestedSplices.hs', '-v0']) ['TH_NestedSplices.hs', '-v0 ' + config.ghc_th_way_flags])
# Testing profiling with TH is a bit tricky; we've already disabled # Testing profiling with TH is a bit tricky; we've already disabled
# the prof way above, and also we want to add options specifically for # the prof way above, and also we want to add options specifically for
...@@ -57,7 +57,7 @@ test('TH_spliceE5_prof', ...@@ -57,7 +57,7 @@ test('TH_spliceE5_prof',
test('TH_spliceD1', test('TH_spliceD1',
extra_clean(['TH_spliceD1_Lib.hi', 'TH_spliceD1_Lib.o']), extra_clean(['TH_spliceD1_Lib.hi', 'TH_spliceD1_Lib.o']),
multimod_compile_fail, multimod_compile_fail,
['TH_spliceD1', '-v0']) ['TH_spliceD1', '-v0 ' + config.ghc_th_way_flags])
test('TH_spliceD2', test('TH_spliceD2',
extra_clean(['TH_spliceD2_Lib.hi', 'TH_spliceD2_Lib.o']), extra_clean(['TH_spliceD2_Lib.hi', 'TH_spliceD2_Lib.o']),
...@@ -78,21 +78,21 @@ test('TH_spliceDecl2', normal, compile, ['-v0']) ...@@ -78,21 +78,21 @@ test('TH_spliceDecl2', normal, compile, ['-v0'])
test('TH_spliceDecl3', test('TH_spliceDecl3',
extra_clean(['TH_spliceDecl3_Lib.hi', 'TH_spliceDecl3_Lib.o']), extra_clean(['TH_spliceDecl3_Lib.hi', 'TH_spliceDecl3_Lib.o']),
multimod_compile, multimod_compile,
['TH_spliceDecl3', '-v0']) ['TH_spliceDecl3', '-v0 ' + config.ghc_th_way_flags])
test('TH_spliceDecl4', test('TH_spliceDecl4',
extra_clean(['TH_spliceDecl4_Lib.hi', 'TH_spliceDecl4_Lib.o']), extra_clean(['TH_spliceDecl4_Lib.hi', 'TH_spliceDecl4_Lib.o']),
multimod_compile, multimod_compile,
['TH_spliceDecl4', '-v0']) ['TH_spliceDecl4', '-v0 ' + config.ghc_th_way_flags])
test('T2597a', test('T2597a',
extra_clean(['T2597a_Lib.hi', 'T2597a_Lib.o']), extra_clean(['T2597a_Lib.hi', 'T2597a_Lib.o']),
multimod_compile, multimod_compile,
['T2597a', '-v0']) ['T2597a', '-v0 ' + config.ghc_th_way_flags])
test('T2597b', test('T2597b',
extra_clean(['T2597b_Lib.hi', 'T2597b_Lib.o']), extra_clean(['T2597b_Lib.hi', 'T2597b_Lib.o']),
multimod_compile_fail, multimod_compile_fail,
['T2597b', '-v0']) ['T2597b', '-v0 ' + config.ghc_th_way_flags])
test('TH_spliceE1', normal, compile_and_run, ['']) test('TH_spliceE1', normal, compile_and_run, [''])
test('TH_spliceExpr1', normal, compile, ['-v0']) test('TH_spliceExpr1', normal, compile, ['-v0'])
...@@ -108,7 +108,7 @@ test('TH_tuple1', normal, compile, ['-v0']) ...@@ -108,7 +108,7 @@ test('TH_tuple1', normal, compile, ['-v0'])
test('TH_genEx', test('TH_genEx',
extra_clean(['TH_genExLib.hi', 'TH_genExLib.o']), extra_clean(['TH_genExLib.hi', 'TH_genExLib.o']),
multimod_compile, multimod_compile,
['TH_genEx', '-v0']) ['TH_genEx', '-v0 ' + config.ghc_th_way_flags])
test('TH_where', normal, compile_and_run, ['']) test('TH_where', normal, compile_and_run, [''])
...@@ -145,7 +145,7 @@ test('T2386', extra_clean(['T2386_Lib.hi', 'T2386_Lib.o']), ...@@ -145,7 +145,7 @@ test('T2386', extra_clean(['T2386_Lib.hi', 'T2386_Lib.o']),
['$MAKE -s --no-print-directory T2386'] ) ['$MAKE -s --no-print-directory T2386'] )
test('T2685', extra_clean(['T2685a.hi','T2685a.o']), test('T2685', extra_clean(['T2685a.hi','T2685a.o']),
multimod_compile, ['T2685','-v0']) multimod_compile, ['T2685', '-v0 ' + config.ghc_th_way_flags])
test('TH_sections', normal, compile, ['-v0']) test('TH_sections', normal, compile, ['-v0'])
...@@ -167,10 +167,11 @@ test('T3100', normal, compile, ['-v0']) ...@@ -167,10 +167,11 @@ test('T3100', normal, compile, ['-v0'])
test('T3920', normal, compile_and_run, ['-v0']) test('T3920', normal, compile_and_run, ['-v0'])
test('T3600', extra_clean(['T3600a.hi','T3600a.o']), test('T3600', extra_clean(['T3600a.hi','T3600a.o']),
multimod_compile, ['T3600','-v0']) multimod_compile, ['T3600', '-v0 ' + config.ghc_th_way_flags])
test('T3845', normal, compile, ['-v0']) test('T3845', normal, compile, ['-v0'])
test('T3899', extra_clean(['T3899a.hi','T3899a.o']), test('T3899', extra_clean(['T3899a.hi','T3899a.o']),
multimod_compile, ['T3899','-v0 -ddump-splices -dsuppress-uniques']) multimod_compile,
['T3899','-v0 -ddump-splices -dsuppress-uniques ' + config.ghc_th_way_flags])
test('T4056', normal, compile, ['-v0']) test('T4056', normal, compile, ['-v0'])
test('T4188', normal, compile, ['-v0']) test('T4188', normal, compile, ['-v0'])
test('T4233', normal, compile, ['-v0']) test('T4233', normal, compile, ['-v0'])
...@@ -190,7 +191,7 @@ test('T5362', normal, compile, ['-v0']) ...@@ -190,7 +191,7 @@ test('T5362', normal, compile, ['-v0'])
test('TH_unresolvedInfix', test('TH_unresolvedInfix',
extra_clean(['TH_unresolvedInfix_Lib.hi', 'TH_unresolvedInfix_Lib.o']), extra_clean(['TH_unresolvedInfix_Lib.hi', 'TH_unresolvedInfix_Lib.o']),
multimod_compile_and_run, multimod_compile_and_run,
['TH_unresolvedInfix.hs', '-v0']) ['TH_unresolvedInfix.hs', '-v0 ' + config.ghc_th_way_flags])
test('TH_unresolvedInfix2', test('TH_unresolvedInfix2',
normal, normal,
compile_fail, compile_fail,
...@@ -203,10 +204,11 @@ test('T5410', normal, compile_and_run, ['-v0']) ...@@ -203,10 +204,11 @@ test('T5410', normal, compile_and_run, ['-v0'])
test('TH_lookupName', test('TH_lookupName',
extra_clean(['TH_lookupName_Lib.hi', 'TH_lookupName_Lib.o']), extra_clean(['TH_lookupName_Lib.hi', 'TH_lookupName_Lib.o']),
multimod_compile_and_run, multimod_compile_and_run,
['TH_lookupName.hs', '']) ['TH_lookupName.hs', config.ghc_th_way_flags])
test('T5452', normal, compile, ['-v0']) test('T5452', normal, compile, ['-v0'])
test('T5434', extra_clean(['T5434a.hi','T5434a.o']), test('T5434', extra_clean(['T5434a.hi','T5434a.o']),
multimod_compile, ['T5434','-v0 -Wall']) multimod_compile,
['T5434','-v0 -Wall ' + config.ghc_th_way_flags])
test('T5508', normal, compile, ['-v0 -ddump-splices']) test('T5508', normal, compile, ['-v0 -ddump-splices'])
test('TH_Depends', test('TH_Depends',
[extra_clean(['TH_Depends_External.o', 'TH_Depends_External.hi', [extra_clean(['TH_Depends_External.o', 'TH_Depends_External.hi',
...@@ -214,11 +216,12 @@ test('TH_Depends', ...@@ -214,11 +216,12 @@ test('TH_Depends',
run_command, run_command,
['$MAKE -s --no-print-directory TH_Depends']) ['$MAKE -s --no-print-directory TH_Depends'])
test('T5597', extra_clean(['T5597a.hi','T5597a.o']), test('T5597', extra_clean(['T5597a.hi','T5597a.o']),
multimod_compile, ['T5597','-v0']) multimod_compile, ['T5597', '-v0 ' + config.ghc_th_way_flags])
test('T5665', extra_clean(['T5665a.hi','T5665a.o']), test('T5665', extra_clean(['T5665a.hi','T5665a.o']),
multimod_compile, ['T5665','-v0']) multimod_compile, ['T5665', '-v0 ' + config.ghc_th_way_flags])
test('T5700', extra_clean(['T5700a.hi','T5700a.o']), test('T5700', extra_clean(['T5700a.hi','T5700a.o']),
multimod_compile, ['T5700','-v0 -ddump-splices']) multimod_compile,
['T5700','-v0 -ddump-splices ' + config.ghc_th_way_flags])
test('T5721', normal, compile, ['-v0']) test('T5721', normal, compile, ['-v0'])
test('TH_PromotedTuple', normal, compile, ['-v0 -ddump-splices']) test('TH_PromotedTuple', normal, compile, ['-v0 -ddump-splices'])
...@@ -231,12 +234,13 @@ test('T1541', normal, compile, ['-v0']) ...@@ -231,12 +234,13 @@ test('T1541', normal, compile, ['-v0'])
test('T5883', normal, compile, ['-v0 -dsuppress-uniques -ddump-splices']) test('T5883', normal, compile, ['-v0 -dsuppress-uniques -ddump-splices'])
test('T5882', normal, compile, ['-v0']) test('T5882', normal, compile, ['-v0'])
test('T5886', extra_clean(['T5886a.hi','T5886a.o']), test('T5886', extra_clean(['T5886a.hi','T5886a.o']),
multimod_compile, ['T5886','-v0']) multimod_compile, ['T5886','-v0 ' + config.ghc_th_way_flags])
test('T4135', normal, compile, ['-v0']) test('T4135', normal, compile, ['-v0'])
test('T5971', normal, compile_fail, ['-v0 -dsuppress-uniques']) test('T5971', normal, compile_fail, ['-v0 -dsuppress-uniques'])
test('T5968', normal, compile, ['-v0']) test('T5968', normal, compile, ['-v0'])
test('T5984', extra_clean(['T5984_Lib.hi', 'T5984_Lib.o']), test('T5984', extra_clean(['T5984_Lib.hi', 'T5984_Lib.o']),
multimod_compile, ['T5984', '-v0 -ddump-splices']) multimod_compile,
['T5984', '-v0 -ddump-splices ' + config.ghc_th_way_flags])
test('T5555', extra_clean(['T5555_Lib.hi', 'T5555_Lib.o']), test('T5555', extra_clean(['T5555_Lib.hi', 'T5555_Lib.o']),
multimod_compile, ['T5555', '-v0']) multimod_compile, ['T5555', '-v0'])
test('T5976', normal, compile_fail, ['-v0']) test('T5976', normal, compile_fail, ['-v0'])
...@@ -249,9 +253,9 @@ test('TH_StringPrimL', normal, compile_and_run, ['']) ...@@ -249,9 +253,9 @@ test('TH_StringPrimL', normal, compile_and_run, [''])
test('T7064', test('T7064',
extra_clean(['T7064a.hi', 'T7064a.o']), extra_clean(['T7064a.hi', 'T7064a.o']),
multimod_compile_and_run, multimod_compile_and_run,
['T7064.hs', '-v0']) ['T7064.hs', '-v0 ' + config.ghc_th_way_flags])
test('T7092', extra_clean(['T7092a.hi','T7092a.o']), test('T7092', extra_clean(['T7092a.hi','T7092a.o']),
multimod_compile, ['T7092','-v0']) multimod_compile, ['T7092', '-v0 ' + config.ghc_th_way_flags])
test('T7276', normal, compile_fail, ['-v0']) test('T7276', normal, compile_fail, ['-v0'])
test('T7276a', combined_output, ghci_script, ['T7276a.script']) test('T7276a', combined_output, ghci_script, ['T7276a.script'])
...@@ -266,7 +270,7 @@ test('T7445', extra_clean(['T7445a.hi', 'T7445a.o']),