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 -- )