diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-08-05 19:49:53 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-12-11 12:57:35 -0500 |
commit | 381eb66012c2b1b9ef50008df57293fe443c2972 (patch) | |
tree | 1e1a98d2e5ffcae35a5189c58ce5442cf6126013 | |
parent | 19703bc83732525cd8309b1e07815840fcc622fb (diff) | |
download | haskell-381eb66012c2b1b9ef50008df57293fe443c2972.tar.gz |
Display FFI labels (fix #18539)
-rw-r--r-- | compiler/GHC/Types/ForeignCall.hs | 16 | ||||
-rw-r--r-- | testsuite/tests/numeric/should_compile/all.T | 2 |
2 files changed, 10 insertions, 8 deletions
diff --git a/compiler/GHC/Types/ForeignCall.hs b/compiler/GHC/Types/ForeignCall.hs index 0951016524..ac24d4ea4d 100644 --- a/compiler/GHC/Types/ForeignCall.hs +++ b/compiler/GHC/Types/ForeignCall.hs @@ -206,24 +206,26 @@ instance Outputable CExportSpec where instance Outputable CCallSpec where ppr (CCallSpec fun cconv safety) - = hcat [ whenPprDebug callconv, ppr_fun fun ] + = hcat [ whenPprDebug callconv, ppr_fun fun, text " ::" ] where callconv = text "{-" <> ppr cconv <> text "-}" - gc_suf | playSafe safety = text "_GC" - | otherwise = empty + gc_suf | playSafe safety = text "_safe" + | otherwise = text "_unsafe" - ppr_fun (StaticTarget st _fn mPkgId isFun) - = text (if isFun then "__pkg_ccall" - else "__pkg_ccall_value") + ppr_fun (StaticTarget st lbl mPkgId isFun) + = text (if isFun then "__ffi_static_ccall" + else "__ffi_static_ccall_value") <> gc_suf <+> (case mPkgId of Nothing -> empty Just pkgId -> ppr pkgId) + <> text ":" + <> ppr lbl <+> (pprWithSourceText st empty) ppr_fun DynamicTarget - = text "__dyn_ccall" <> gc_suf <+> text "\"\"" + = text "__ffi_dyn_ccall" <> gc_suf <+> text "\"\"" -- The filename for a C header file -- Note [Pragma source text] in GHC.Types.SourceText diff --git a/testsuite/tests/numeric/should_compile/all.T b/testsuite/tests/numeric/should_compile/all.T index 7c39541e5b..8f0b268690 100644 --- a/testsuite/tests/numeric/should_compile/all.T +++ b/testsuite/tests/numeric/should_compile/all.T @@ -8,4 +8,4 @@ test('T7881', normal, compile, ['']) # desugaring, so we don't get the warning we expect. test('T8542', omit_ways(['hpc']), compile, ['']) test('T10929', normal, compile, ['']) -test('T16402', [ grep_errmsg(r'and') ], compile, ['']) +test('T16402', [ grep_errmsg(r'and'), when(wordsize(32), expect_broken(19024)) ], compile, ['']) |