Browse Source

* set the flag that the symtable contains a generic at the end of the corresponding block of types_dec() to ensure that the owner is assigned correctly

Sven/Sarah Barth 3 years ago
parent
commit
ff0b560fe4
1 changed files with 4 additions and 3 deletions
  1. 4 3
      compiler/pdecl.pas

+ 4 - 3
compiler/pdecl.pas

@@ -886,9 +886,6 @@ implementation
               { update the definition of the type }
               if assigned(hdef) then
                 begin
-                  if df_generic in hdef.defoptions then
-                    { flag parent symtables that they now contain a generic }
-                    hdef.owner.includeoption(sto_has_generic);
                   if assigned(hdef.typesym) then
                     begin
                       istyperenaming:=true;
@@ -1154,6 +1151,10 @@ implementation
                 attributes to this def }
               if not istyperenaming or isunique then
                 trtti_attribute_list.bind(rtti_attrs_def,tstoreddef(hdef).rtti_attribute_list);
+
+              if df_generic in hdef.defoptions then
+                { flag parent symtables that they now contain a generic }
+                hdef.owner.includeoption(sto_has_generic);
             end;
 
            if isgeneric and (not(hdef.typ in [objectdef,recorddef,arraydef,procvardef])