From bd4b622f2ffd3fceefd9caeaff35662a13af201c Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Fri, 28 Jul 2017 21:27:40 +0300 Subject: [PATCH] =?utf8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5?= =?utf8?q?=D0=BD=D0=BE=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5?= =?utf8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?utf8?q?=D1=8F=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D1=82=D0=B5=D0=BB=D1=8F?= =?utf8?q?=20=D0=BD=D0=B0=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D1=82=D0=B5?= =?utf8?q?=D0=BB=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/oberon.c | 3 ++- src/test.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/oberon.c b/src/oberon.c index 89f4be4..251a7df 100644 --- a/src/oberon.c +++ b/src/oberon.c @@ -2201,7 +2201,8 @@ oberon_prevent_recursive_pointer(oberon_context_t * ctx, oberon_type_t * type) oberon_error(ctx, "recursive pointer declaration"); } - if(type -> base -> class == OBERON_TYPE_POINTER) + if(type -> class == OBERON_TYPE_POINTER + && type -> base -> class == OBERON_TYPE_POINTER) { oberon_error(ctx, "attempt to make pointer to pointer"); } diff --git a/src/test.c b/src/test.c index 51a1250..02912bb 100644 --- a/src/test.c +++ b/src/test.c @@ -13,9 +13,10 @@ static char source_test[] = "VAR" " g : ARRAY 4 OF INTEGER;" " r : RECORD x : INTEGER; END;" - " a : POINTER TO ARRAY OF ARRAY OF RecDesc;" + " a : POINTER TO ARRAY OF ARRAY OF Rec;" "BEGIN" " NEW(a, 10, 10);" + " NEW(a[9, 9]);" " a[9, 9].x := 666;" " g[3] := 4;" " r.x := 4546;" -- 2.29.2