DEADSOFTWARE

Поправлено умножение, добавлен вывод результата генератора в файл
[dsw-obn.git] / oberon.c
index 2b4e09f5e8a3ca7e95e4923a6d4773fa9e5202bf..bd5498bbccc06ee9a4ac7ff684ca9f2532149bf9 100644 (file)
--- a/oberon.c
+++ b/oberon.c
@@ -653,6 +653,14 @@ oberon_autocast_to(oberon_context_t * ctx, oberon_expr_t * expr, oberon_type_t *
                        oberon_error(ctx, "incompatible size");
                }
        }
+       else if(pref -> class == OBERON_TYPE_RECORD)
+       {
+               if(expr -> result != pref)
+               {
+                       printf("oberon_autocast_to: rec %p != %p\n", expr -> result, pref);
+                       oberon_error(ctx, "incompatible record types");
+               }
+       }
 
        // TODO cast