From 2dbfc7df330d3534c81bcfcc5c002a919be8641f Mon Sep 17 00:00:00 2001 From: Joe Groff <arcata@gmail.com> Date: Wed, 1 Dec 2010 07:04:15 +0530 Subject: [PATCH] alien.fortran: fix stack effect of SUBROUTINE: and FUNCTION: words to include out parameters --- basis/alien/fortran/fortran.factor | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/basis/alien/fortran/fortran.factor b/basis/alien/fortran/fortran.factor index 4b7142c435..06aabd246b 100755 --- a/basis/alien/fortran/fortran.factor +++ b/basis/alien/fortran/fortran.factor @@ -427,8 +427,10 @@ MACRO: fortran-invoke ( return library function parameters -- ) { [ 2drop nip set-fortran-abi ] [ (fortran-invoke) ] } 4 ncleave ; : parse-arglist ( parameters return -- types effect ) - [ 2 group unzip [ "," ?tail drop ] map ] - [ [ { } ] [ 1array ] if-void ] + [ 2 group + [ unzip [ "," ?tail drop ] map ] + [ [ first "!" head? ] filter [ second "," ?tail drop "'" append ] map ] bi + ] [ [ { } ] [ 1array ] if-void swap append ] bi* <effect> ; :: define-fortran-function ( return library function parameters -- )