diff --git a/compiler/pdecl.pas b/compiler/pdecl.pas index 079139ec58..dfc13b2075 100644 --- a/compiler/pdecl.pas +++ b/compiler/pdecl.pas @@ -633,9 +633,12 @@ implementation if not (m_delphi in current_settings.modeswitches) then Message1(sym_e_duplicate_id,genorgtypename) else - { we need to find this symbol even if it's a variable or - something else when doing an inline specialization } - Include(sym.symoptions,sp_generic_dummy); + begin + { we need to find this symbol even if it's a variable or + something else when doing an inline specialization } + Include(sym.symoptions,sp_generic_dummy); + add_generic_dummysym(sym); + end; end else begin @@ -724,7 +727,11 @@ implementation current_module.checkforwarddefs.add(hdef); end; if not assigned(hdef.typesym) then - hdef.typesym:=newtype; + begin + hdef.typesym:=newtype; + if sp_generic_dummy in newtype.symoptions then + add_generic_dummysym(newtype); + end; end; { in non-Delphi modes we need a reference to the generic def without the generic suffix, so it can be found easily when