mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-05 13:25:58 +02:00
* 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:
parent
98eab07abd
commit
3d2ee097b5
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -18531,6 +18531,7 @@ tests/webtbs/tw38051.pp svneol=native#text/pascal
|
|||||||
tests/webtbs/tw38054.pp svneol=native#text/plain
|
tests/webtbs/tw38054.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw38069.pp svneol=native#text/pascal
|
tests/webtbs/tw38069.pp svneol=native#text/pascal
|
||||||
tests/webtbs/tw38074.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/tw3814.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw3827.pp svneol=native#text/plain
|
tests/webtbs/tw3827.pp svneol=native#text/plain
|
||||||
tests/webtbs/tw3829.pp svneol=native#text/plain
|
tests/webtbs/tw3829.pp svneol=native#text/plain
|
||||||
|
@ -535,6 +535,7 @@ implementation
|
|||||||
procstartfilepos : tfileposinfo;
|
procstartfilepos : tfileposinfo;
|
||||||
i,
|
i,
|
||||||
index : longint;
|
index : longint;
|
||||||
|
addgendummy,
|
||||||
hadspecialize,
|
hadspecialize,
|
||||||
firstpart,
|
firstpart,
|
||||||
found,
|
found,
|
||||||
@ -867,6 +868,7 @@ implementation
|
|||||||
srsym:=nil;
|
srsym:=nil;
|
||||||
genericparams:=nil;
|
genericparams:=nil;
|
||||||
hadspecialize:=false;
|
hadspecialize:=false;
|
||||||
|
addgendummy:=false;
|
||||||
|
|
||||||
if not assigned(genericdef) then
|
if not assigned(genericdef) then
|
||||||
begin
|
begin
|
||||||
@ -1071,6 +1073,7 @@ implementation
|
|||||||
as if nothing happened }
|
as if nothing happened }
|
||||||
hidesym(srsym);
|
hidesym(srsym);
|
||||||
searchagain:=true;
|
searchagain:=true;
|
||||||
|
addgendummy:=true;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -1106,6 +1109,8 @@ implementation
|
|||||||
aprocsym:=cprocsym.create('$'+lower(sp))
|
aprocsym:=cprocsym.create('$'+lower(sp))
|
||||||
else
|
else
|
||||||
aprocsym:=cprocsym.create(orgsp);
|
aprocsym:=cprocsym.create(orgsp);
|
||||||
|
if addgendummy then
|
||||||
|
include(aprocsym.symoptions,sp_generic_dummy);
|
||||||
symtablestack.top.insert(aprocsym);
|
symtablestack.top.insert(aprocsym);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
19
tests/webtbs/tw38083.pp
Normal file
19
tests/webtbs/tw38083.pp
Normal 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.
|
Loading…
Reference in New Issue
Block a user