applied temple's fix for the ofront issue #30, endless recoursion for

cyclic array types.
c7d37c9162
This commit is contained in:
norayr 2017-08-08 15:37:29 +04:00
parent 9f3893bb42
commit 511186f0a4

View file

@ -453,6 +453,9 @@ MODULE OPC; (* copyright (c) J. Templ 12.7.95 / 3.7.96 *)
ELSIF str^.form = OPT.Pointer THEN
IF str^.BaseTyp^.comp # OPT.Record THEN DefineType(str^.BaseTyp) END
ELSIF str^.comp IN {OPT.Array, OPT.DynArr} THEN
IF (str^.BaseTyp^.strobj # NIL) & (str^.BaseTyp^.strobj^.linkadr = ProcessingType) THEN (*cyclic base type*)
OPM.Mark(244, str^ .txtpos); str^.BaseTyp^.strobj^.linkadr := PredefinedType
END ;
DefineType(str^.BaseTyp)
ELSIF str^.form = OPT.ProcTyp THEN
IF str^.BaseTyp # OPT.notyp THEN DefineType(str^.BaseTyp) END ;