diff options
-rw-r--r-- | testsuite/mk/boilerplate.mk | 5 | ||||
-rw-r--r-- | testsuite/tests/ghci/linking/Makefile | 10 | ||||
-rw-r--r-- | testsuite/tests/ghci/linking/all.T | 8 | ||||
-rw-r--r-- | testsuite/tests/quasiquotation/Makefile | 2 | ||||
-rw-r--r-- | testsuite/tests/quasiquotation/all.T | 3 | ||||
-rw-r--r-- | testsuite/tests/th/all.T | 5 |
6 files changed, 22 insertions, 11 deletions
diff --git a/testsuite/mk/boilerplate.mk b/testsuite/mk/boilerplate.mk index 41ba2542a6..a2fb56d1ba 100644 --- a/testsuite/mk/boilerplate.mk +++ b/testsuite/mk/boilerplate.mk @@ -291,4 +291,9 @@ DARWIN = YES else DARWIN = NO endif +ifeq "$(HostOS)" "freebsd" +FREEBSD = YES +else +FREEBSD = NO +endif diff --git a/testsuite/tests/ghci/linking/Makefile b/testsuite/tests/ghci/linking/Makefile index 085e81765b..2c71e96cc6 100644 --- a/testsuite/tests/ghci/linking/Makefile +++ b/testsuite/tests/ghci/linking/Makefile @@ -24,6 +24,12 @@ else DLL = lib$1.so endif +ifeq "$(FREEBSD)" "YES" +LIBCXX=c++ +else +LIBCXX=stdc++ +endif + .PHONY: ghcilink002 ghcilink002 : $(RM) -rf dir002 @@ -38,7 +44,7 @@ ghcilink002 : .PHONY: ghcilink003 ghcilink003 : - echo ":q" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -lstdc++ + echo ":q" | "$(TEST_HC)" $(TEST_HC_OPTS_INTERACTIVE) -l$(LIBCXX) # Test 4: # package P @@ -115,7 +121,7 @@ ghcilink006 : ifeq "$(WINDOWS)" "YES" echo "extra-libraries: stdc++-6" >>$(PKG006) else - echo "extra-libraries: stdc++" >>$(PKG006) + echo "extra-libraries: $(LIBCXX)" >>$(PKG006) endif '$(GHC_PKG)' init $(LOCAL_PKGCONF006) '$(GHC_PKG)' --no-user-package-db -f $(LOCAL_PKGCONF006) register $(PKG006) -v0 diff --git a/testsuite/tests/ghci/linking/all.T b/testsuite/tests/ghci/linking/all.T index 79ec5e5f98..743067518f 100644 --- a/testsuite/tests/ghci/linking/all.T +++ b/testsuite/tests/ghci/linking/all.T @@ -12,8 +12,8 @@ test('ghcilink002', [extra_files(['TestLink.hs', 'f.c']), test('ghcilink003', [unless(doing_ghci, skip), - # libstdc++ is named differently on FreeBSD - when(opsys('freebsd'), expect_broken(17739))], + # libstdc++ is GCC-specific on FreeBSD + when(opsys('freebsd'), fragile(17739))], makefile_test, ['ghcilink003']) @@ -32,8 +32,8 @@ test('ghcilink005', test('ghcilink006', [unless(doing_ghci, skip), - # libstdc++ is named differently on FreeBSD - when(opsys('freebsd'), expect_broken(17739))], + # libstdc++ is GCC-specific on FreeBSD + when(opsys('freebsd'), fragile(17739))], makefile_test, ['ghcilink006']) diff --git a/testsuite/tests/quasiquotation/Makefile b/testsuite/tests/quasiquotation/Makefile index 76e8a928fb..9a9db1ead9 100644 --- a/testsuite/tests/quasiquotation/Makefile +++ b/testsuite/tests/quasiquotation/Makefile @@ -11,5 +11,5 @@ T4150: T14028: '$(TEST_HC)' $(TEST_HC_OPTS) -v0 T14028Quote.hs - '$(TEST_HC)' $(TEST_HC_OPTS) -v0 -c T14028C.c + '$(TEST_HC)' $(TEST_HC_OPTS) -v0 -fPIC -c T14028C.c '$(TEST_HC)' $(TEST_HC_OPTS) -v0 -fexternal-interpreter T14028 T14028C.o diff --git a/testsuite/tests/quasiquotation/all.T b/testsuite/tests/quasiquotation/all.T index 0d2fd713cb..e8b3bd1e6f 100644 --- a/testsuite/tests/quasiquotation/all.T +++ b/testsuite/tests/quasiquotation/all.T @@ -9,6 +9,5 @@ test('T14028', [req_interp, req_rts_linker, only_ways([config.ghc_th_way]), unless(config.have_ext_interp, skip), - when(opsys('linux') and arch('arm'), expect_broken_for(17558, ['dyn'])), - when(opsys('linux') and arch('x86_64'), expect_broken_for(17300, ['dyn']))], + when(opsys('freebsd'), expect_broken(19723))], makefile_test, ['T14028']) diff --git a/testsuite/tests/th/all.T b/testsuite/tests/th/all.T index 564649b373..857c9f3659 100644 --- a/testsuite/tests/th/all.T +++ b/testsuite/tests/th/all.T @@ -395,8 +395,9 @@ test('T13098', normal, compile, ['-v0']) test('T11046', normal, multimod_compile, ['T11046','-v0']) test('T13366', [expect_broken_for(13366, ['ghci']), - # libstdc++ is named differently on FreeBSD - when(opsys('freebsd'), expect_broken(17739)), + # libstdc++ is GCC-specific on FreeBSD, the test will + # fail with clang, and pass with GCC. + when(opsys('freebsd'), fragile(17739)), when(opsys('darwin'), expect_broken(16083))], compile_and_run, ['-lstdc++ -v0']) |