DEADSOFTWARE

JVM: Добавлена заглушка на копирование массивов или записей
authorDeaDDooMER <deaddoomer@deadsoftware.ru>
Thu, 27 Jul 2017 22:07:45 +0000 (01:07 +0300)
committerDeaDDooMER <deaddoomer@deadsoftware.ru>
Thu, 27 Jul 2017 22:07:45 +0000 (01:07 +0300)
src/backends/jvm/generator-jvm.c
src/test.c

index 84ebe512efcdb595a9c079f1bbc3d02b68cd0f26..1d4f9702a8254b2a2064743f2a320c075176d742 100644 (file)
@@ -997,6 +997,17 @@ store_expr(gen_proc_t * p, oberon_expr_t * dst, oberon_expr_t * src)
        assert(dst -> is_item);
        oberon_item_t * item = (oberon_item_t *) dst;
 
+       if(dst -> result -> class == OBERON_TYPE_ARRAY
+               || src -> result -> class == OBERON_TYPE_ARRAY)
+       {
+               gen_error("array copy not implemented");
+       }
+       else if(dst -> result -> class == OBERON_TYPE_RECORD
+               || src -> result -> class == OBERON_TYPE_RECORD)
+       {
+               gen_error("record copy not implemented");
+       }
+
        switch(item -> mode)
        {
                case MODE_VAR:
index 69cfc99dc7468b5600745cbd73e54dc02cea8b64..7d3ce627460453a8d1bfb105585b689eb7d11a1d 100644 (file)
@@ -11,7 +11,7 @@ static char source_test[] =
        "  l : POINTER TO ARRAY 16 OF BOOLEAN;"
        "BEGIN"
        "  NEW(l);"
-       "  l[0] := l[5];"
+       "  l^ := l^;"
        "END Test."
 ;