|
@@ -206,6 +206,7 @@ implementation
|
|
hpd : tprocdef;
|
|
hpd : tprocdef;
|
|
i : longint;
|
|
i : longint;
|
|
diff : boolean;
|
|
diff : boolean;
|
|
|
|
+ symfrom,symto : tsym;
|
|
begin
|
|
begin
|
|
eq:=te_incompatible;
|
|
eq:=te_incompatible;
|
|
doconv:=tc_not_possible;
|
|
doconv:=tc_not_possible;
|
|
@@ -277,7 +278,11 @@ implementation
|
|
begin
|
|
begin
|
|
if tstoreddef(def_from).genericparas.nameofindex(i)<>tstoreddef(def_to).genericparas.nameofindex(i) then
|
|
if tstoreddef(def_from).genericparas.nameofindex(i)<>tstoreddef(def_to).genericparas.nameofindex(i) then
|
|
internalerror(2012091302);
|
|
internalerror(2012091302);
|
|
- if tstoreddef(def_from).genericparas[i]<>tstoreddef(def_to).genericparas[i] then
|
|
|
|
|
|
+ symfrom:=ttypesym(tstoreddef(def_from).genericparas[i]);
|
|
|
|
+ symto:=ttypesym(tstoreddef(def_to).genericparas[i]);
|
|
|
|
+ if not (symfrom.typ=typesym) or not (symto.typ=typesym) then
|
|
|
|
+ internalerror(2012121401);
|
|
|
|
+ if not equal_defs(ttypesym(symfrom).typedef,ttypesym(symto).typedef) then
|
|
diff:=true;
|
|
diff:=true;
|
|
if diff then
|
|
if diff then
|
|
break;
|
|
break;
|