DEADSOFTWARE

Добавлены открытые массивы
[dsw-obn.git] / notes
diff --git a/notes b/notes
index ebd198db2fc9f0cb61fe90b31f496dbfa4a13cf9..0576334c3d003d72efdf80e9946f50d4f68ef97d 100644 (file)
--- a/notes
+++ b/notes
@@ -1,4 +1,27 @@
-- нету открытых массивов
+- открытые массивы работкают криво как статические аргументы процедур
+    Случай 1: не проходит проверки libgccjit
+    (*
+     TYPE Ar = ARRAY OF INTEGER;
+     VAR a : POINTER TO Ar;
+
+     (* так же и с VAR-параметром *)
+     PROCEDURE Ax(x : Ar);
+     END Ax;
+
+     Ax(a);
+     *)
+    Случай 2: массив должен быть указателем, да и ещё копироваться
+    (*
+     TYPE Ar = ARRAY OF INTEGER;
+     VAR a : POINTER TO Ar;
+
+     (* при использовании VAR-параметра работает *)
+     PROCEDURE Ax(x : Ar);
+     END Ax;
+
+     Ax(a^);
+     *)
+
 - нет символов и строк
 - нужен автокаст int -> real для DIV. Да и вообще каст типов.