@@ -1342,6 +1342,17 @@ uses
end;
+
+ { unlink unused defs }
+ if not(result) and assigned(callerparams) then
+ begin
+ for k:=0 to callerparams.count-1 do
+ if tsym(callerparams[k]).typ=typesym then
+ ttypesym(callerparams[k]).typedef.typesym:=nil;
+ end;
callerparams.free;
@@ -415,6 +415,7 @@ implementation
result:=result+GetTypeName;
function tdef.fulltypename:string;
begin
result:=fullownerhierarchyname(false);
@@ -0,0 +1,13 @@
+{ %opt=-gl }
+program test;
+{$modeswitch implicitfunctionspecialization}
+generic procedure FillChar<T>(var x; count: SizeInt; value: Byte);
+begin
+end;
+var v: array [0..0] of Byte;
+ FillChar(v, 0, 0);
+end.