From: DeaDDooMER <deaddoomer@deadsoftware.ru>
Date: Mon, 21 Aug 2017 09:23:00 +0000 (+0300)
Subject: Исправлен пропуск фактических аргументов если первый конструктор SET
X-Git-Url: http://deadsoftware.ru/gitweb?a=commitdiff_plain;h=5185ccf4b3caa619f466fdb2890e955b42264a88;p=dsw-obn.git

Исправлен пропуск фактических аргументов если первый конструктор SET
---

diff --git a/Test.obn b/Test.obn
index be037a2..8889d77 100644
--- a/Test.obn
+++ b/Test.obn
@@ -1,11 +1,17 @@
 MODULE Test;
 
 TYPE
+  PRec = POINTER TO Rec;
+  Rec = RECORD END;
 
-  PC = ARRAY 3 OF PB;
+VAR
+  d : PRec;
 
-  B = RECORD z : PC; next : PB END;
-
-  PB = POINTER TO B;
+PROCEDURE X (z : INTEGER; a : SET; b : ARRAY OF CHAR) : PRec;
+BEGIN
+  RETURN NIL;
+END X;
 
+BEGIN
+  d := X(1, {}, "xyz");
 END Test.
diff --git a/obn-compile.sh b/obn-compile.sh
index 0ab4b70..b232184 100755
--- a/obn-compile.sh
+++ b/obn-compile.sh
@@ -2,13 +2,16 @@
 
 set -e
 
+DIR=$(dirname "$0")
+PATH="$DIR:$PATH"
+
 rm -rf classes tmp
 mkdir -p classes tmp
 
-./a.out -d tmp -I rtl/java -I rtl $*
+a.out -d tmp -I $DIR/rtl/java -I $DIR/rtl $*
 
 jasmin -d classes tmp/*.j
 
-javac -d classes rtl/java/*.java
+javac -d classes $DIR/rtl/java/*.java
 
-proguard -injars classes -libraryjars /usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar @proguard.conf
+proguard -injars classes -libraryjars /usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar @$DIR/proguard.conf
diff --git a/src/oberon.c b/src/oberon.c
index 4afd4c2..ebcaa99 100644
--- a/src/oberon.c
+++ b/src/oberon.c
@@ -1285,6 +1285,7 @@ oberon_make_call_proc(oberon_context_t * ctx, oberon_item_t * item, int num_args
 	|| ((x) == CHAR) \
 	|| ((x) == STRING) \
 	|| ((x) == NIL) \
+	|| ((x) == LBRACE) \
 	|| ((x) == LPAREN) \
 	|| ((x) == NOT))