* fix for Mantis #38083: ensure that the sp_generic_dummy flag is set correctly on the new procsym when replacing a dummy sym

+ added test

git-svn-id: trunk@47424 -
This commit is contained in:
svenbarth 2020-11-15 16:27:26 +00:00
parent 98eab07abd
commit 3d2ee097b5
3 changed files with 25 additions and 0 deletions

1
.gitattributes vendored
View File

@ -18531,6 +18531,7 @@ tests/webtbs/tw38051.pp svneol=native#text/pascal
tests/webtbs/tw38054.pp svneol=native#text/plain
tests/webtbs/tw38069.pp svneol=native#text/pascal
tests/webtbs/tw38074.pp svneol=native#text/pascal
tests/webtbs/tw38083.pp svneol=native#text/pascal
tests/webtbs/tw3814.pp svneol=native#text/plain
tests/webtbs/tw3827.pp svneol=native#text/plain
tests/webtbs/tw3829.pp svneol=native#text/plain

View File

@ -535,6 +535,7 @@ implementation
procstartfilepos : tfileposinfo;
i,
index : longint;
addgendummy,
hadspecialize,
firstpart,
found,
@ -867,6 +868,7 @@ implementation
srsym:=nil;
genericparams:=nil;
hadspecialize:=false;
addgendummy:=false;
if not assigned(genericdef) then
begin
@ -1071,6 +1073,7 @@ implementation
as if nothing happened }
hidesym(srsym);
searchagain:=true;
addgendummy:=true;
end
else
begin
@ -1106,6 +1109,8 @@ implementation
aprocsym:=cprocsym.create('$'+lower(sp))
else
aprocsym:=cprocsym.create(orgsp);
if addgendummy then
include(aprocsym.symoptions,sp_generic_dummy);
symtablestack.top.insert(aprocsym);
end;
end;

19
tests/webtbs/tw38083.pp Normal file
View File

@ -0,0 +1,19 @@
{ %NORUN }
program tw38083;
{$MODE Delphi}
procedure Test<T>(A: T; B: Boolean); overload;
begin
end;
procedure Test(A: String); overload;
begin
Test<String>(A, True);
end;
begin
end.