summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--c2haskell.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/c2haskell.hs b/c2haskell.hs
index 0e857a9..0c31c93 100644
--- a/c2haskell.hs
+++ b/c2haskell.hs
@@ -550,12 +550,14 @@ setBody bdy (CDeclExt (CDecl xs ys pos)) = (CFDefExt (CFunDef xs v [] bdy pos))
550 _ -> CDeclr Nothing [] Nothing [] pos 550 _ -> CDeclr Nothing [] Nothing [] pos
551 551
552makeStub d = -- @(CDeclExt (CDecl xs ys pos)) = 552makeStub d = -- @(CDeclExt (CDecl xs ys pos)) =
553 let oargs:xs = getArgList d 553 let rval = True -- todo: Set False for void function.
554 (args,vs) = makeParameterNames oargs
555 name = concatMap identToString $ take 1 $ catMaybes $ sym d 554 name = concatMap identToString $ take 1 $ catMaybes $ sym d
556 rval = True -- todo: Set False for void function.
557 msg = "undefined: " ++ HS.prettyPrint (makeAcceptableDecl $ head $ sig d) ++ "\n" 555 msg = "undefined: " ++ HS.prettyPrint (makeAcceptableDecl $ head $ sig d) ++ "\n"
558 in setBody (stubBody ("f_"++name) vs rval msg) $ changeArgList (const $ args:xs) d 556 in case getArgList d of
557 oargs:xs ->
558 let (args,vs) = makeParameterNames oargs
559 in setBody (stubBody ("f_"++name) vs rval msg) $ changeArgList (const $ args:xs) d
560 [] -> setBody (stubBody ("f_"++name) [] rval msg) d
559 561
560 562
561parameterIdent :: CDeclaration a -> Maybe Ident 563parameterIdent :: CDeclaration a -> Maybe Ident