Browse Source

* avoid internal error in case of an illegal generic declaration

florian 2 years ago
parent
commit
e77ec69de4
1 changed files with 4 additions and 1 deletions
  1. 4 1
      compiler/pdecl.pas

+ 4 - 1
compiler/pdecl.pas

@@ -1170,7 +1170,10 @@ implementation
 
 
            if isgeneric and (not(hdef.typ in [objectdef,recorddef,arraydef,procvardef])
            if isgeneric and (not(hdef.typ in [objectdef,recorddef,arraydef,procvardef])
                or is_objectpascal_helper(hdef)) then
                or is_objectpascal_helper(hdef)) then
-             message(parser_e_cant_create_generics_of_this_type);
+             begin
+               newtype.typedef:=generrordef;
+               message(parser_e_cant_create_generics_of_this_type);
+             end;
 
 
            { Stop recording a generic template }
            { Stop recording a generic template }
            if assigned(generictypelist) then
            if assigned(generictypelist) then