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");
}
"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;"