Ver Fonte

* don't crash on external generic subroutines, resolves #41330

florian há 2 dias atrás
pai
commit
cae21c4410
2 ficheiros alterados com 7 adições e 0 exclusões
  1. 1 0
      compiler/pdecsub.pas
  2. 6 0
      tests/webtbf/tw41330.pp

+ 1 - 0
compiler/pdecsub.pas

@@ -2413,6 +2413,7 @@ begin
     and only for external classes/interfaces }
   is_java_external:=
     (pd.typ=procdef) and
+    assigned(pd.owner) and
     is_java_class_or_interface(tdef(pd.owner.defowner)) and
     (oo_is_external in tobjectdef(pd.owner.defowner).objectoptions);
   with tprocdef(pd) do

+ 6 - 0
tests/webtbf/tw41330.pp

@@ -0,0 +1,6 @@
+{ %fail }
+generic procedure proc<T>(arg: T); external 'lib';
+
+begin
+  specialize proc<Integer>(1);
+end.