diff options
Diffstat (limited to 'compiler/ghci/ByteCodeGen.lhs')
-rw-r--r-- | compiler/ghci/ByteCodeGen.lhs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/ghci/ByteCodeGen.lhs b/compiler/ghci/ByteCodeGen.lhs index cd4b60da27..e8df54c7c6 100644 --- a/compiler/ghci/ByteCodeGen.lhs +++ b/compiler/ghci/ByteCodeGen.lhs @@ -631,7 +631,7 @@ schemeT d s p app -- Detect and extract relevant info for the tagToEnum kludge. maybe_is_tagToEnum_call = let extract_constr_Names ty - | Just (tyc, _) <- splitTyConApp_maybe (repType ty), + | Just tyc <- tyConAppTyCon_maybe (repType ty), isDataTyCon tyc = map (getName . dataConWorkId) (tyConDataCons tyc) -- NOTE: use the worker name, not the source name of @@ -929,10 +929,10 @@ generateCCall d0 s p (CCallSpec target cconv safety) fn args_r_to_l pargs d (a:az) = let arg_ty = repType (exprType (deAnnotate' a)) - in case splitTyConApp_maybe arg_ty of + in case tyConAppTyCon_maybe arg_ty of -- Don't push the FO; instead push the Addr# it -- contains. - Just (t, _) + Just t | t == arrayPrimTyCon || t == mutableArrayPrimTyCon -> do rest <- pargs (d + addr_sizeW) az code <- parg_ArrayishRep (fromIntegral arrPtrsHdrSize) d p a |