summaryrefslogtreecommitdiff
path: root/compiler/GHC/Iface/Tidy/StaticPtrTable.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Iface/Tidy/StaticPtrTable.hs')
-rw-r--r--compiler/GHC/Iface/Tidy/StaticPtrTable.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/GHC/Iface/Tidy/StaticPtrTable.hs b/compiler/GHC/Iface/Tidy/StaticPtrTable.hs
index d53fddb943..0b72f57f56 100644
--- a/compiler/GHC/Iface/Tidy/StaticPtrTable.hs
+++ b/compiler/GHC/Iface/Tidy/StaticPtrTable.hs
@@ -240,8 +240,13 @@ sptCreateStaticBinds opts this_mod binds = do
-- @fps@ is a list associating each binding corresponding to a static entry with
-- its fingerprint.
sptModuleInitCode :: Platform -> Module -> [SptEntry] -> CStub
-sptModuleInitCode _ _ [] = mempty
-sptModuleInitCode platform this_mod entries =
+sptModuleInitCode platform this_mod entries
+ -- no CStub if there is no entry
+ | [] <- entries = mempty
+ -- no CStub for the JS backend: it deals with it directly during JS code
+ -- generation
+ | ArchJavaScript <- platformArch platform = mempty
+ | otherwise =
initializerCStub platform init_fn_nm empty init_fn_body `mappend`
finalizerCStub platform fini_fn_nm empty fini_fn_body
where