mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-08 06:08:16 +02:00
+ introduce cstylearrayofconst because pocall_mwcall was forgotten at several places
git-svn-id: trunk@22012 -
This commit is contained in:
parent
ad3aa937d3
commit
eb1efdff8a
@ -345,7 +345,7 @@ unit cpupara;
|
||||
|
||||
{ currently only support C-style array of const,
|
||||
there should be no location assigned to the vararg array itself }
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
|
||||
if (p.proccalloption in cstylearrayofconst) and
|
||||
is_array_of_const(paradef) then
|
||||
begin
|
||||
paraloc:=hp.paraloc[side].add_location;
|
||||
@ -701,7 +701,7 @@ unit cpupara;
|
||||
init_values(curintreg,curfloatreg,curmmreg,cur_stack_offset,sparesinglereg);
|
||||
|
||||
result:=create_paraloc_info_intern(p,callerside,p.paras,curintreg,curfloatreg,curmmreg,cur_stack_offset,sparesinglereg,true);
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) then
|
||||
if (p.proccalloption in cstylearrayofconst) then
|
||||
{ just continue loading the parameters in the registers }
|
||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset,sparesinglereg,true)
|
||||
else
|
||||
|
@ -260,7 +260,7 @@ unit cpupara;
|
||||
|
||||
{ currently only support C-style array of const,
|
||||
there should be no location assigned to the vararg array itself }
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
|
||||
if (p.proccalloption in cstylearrayofconst) and
|
||||
is_array_of_const(paradef) then
|
||||
begin
|
||||
paraloc:=hp.paraloc[side].add_location;
|
||||
@ -478,7 +478,7 @@ unit cpupara;
|
||||
init_values(curintreg,curfloatreg,curmmreg,cur_stack_offset);
|
||||
|
||||
result:=create_paraloc_info_intern(p,callerside,p.paras,curintreg,curfloatreg,curmmreg,cur_stack_offset);
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) then
|
||||
if (p.proccalloption in cstylearrayofconst) then
|
||||
{ just continue loading the parameters in the registers }
|
||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset)
|
||||
else
|
||||
|
@ -462,6 +462,8 @@ interface
|
||||
pocall_default = pocall_stdcall;
|
||||
{$endif}
|
||||
|
||||
cstylearrayofconst = [pocall_cdecl,pocall_cppdecl,pocall_mwpascal];
|
||||
|
||||
modeswitchstr : array[tmodeswitch] of string[18] = ('','',
|
||||
'','','','','','',
|
||||
{$ifdef fpc_mode}'',{$endif}
|
||||
|
@ -285,7 +285,7 @@ unit cpupara;
|
||||
hp.paraloc[side].reset;
|
||||
|
||||
{ currently only support C-style array of const }
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
|
||||
if (p.proccalloption in cstylearrayofconst) and
|
||||
is_array_of_const(paradef) then
|
||||
begin
|
||||
{$ifdef DEBUG_CHARLIE}
|
||||
@ -549,7 +549,7 @@ unit cpupara;
|
||||
init_values(curintreg,curfloatreg,cur_stack_offset);
|
||||
|
||||
result:=create_paraloc_info_intern(p,callerside,p.paras,curintreg,curfloatreg,cur_stack_offset);
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) then
|
||||
if (p.proccalloption in cstylearrayofconst) then
|
||||
{ just continue loading the parameters in the registers }
|
||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,cur_stack_offset)
|
||||
else
|
||||
|
@ -288,7 +288,7 @@ implementation
|
||||
paradef := hp.vardef;
|
||||
|
||||
{ currently only support C-style array of const }
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
|
||||
if (p.proccalloption in cstylearrayofconst) and
|
||||
is_array_of_const(paradef) then
|
||||
begin
|
||||
paraloc:=hp.paraloc[side].add_location;
|
||||
|
@ -2175,7 +2175,7 @@ const
|
||||
handler : @pd_interrupt;
|
||||
pocall : pocall_oldfpccall;
|
||||
pooption : [po_interrupt];
|
||||
mutexclpocall : [pocall_internproc,pocall_cdecl,pocall_cppdecl,pocall_stdcall,
|
||||
mutexclpocall : [pocall_internproc,pocall_cdecl,pocall_cppdecl,pocall_stdcall,pocall_mwpascal,
|
||||
pocall_pascal,pocall_far16,pocall_oldfpccall];
|
||||
mutexclpotype : [potype_constructor,potype_destructor,potype_operator,potype_class_constructor,potype_class_destructor];
|
||||
mutexclpo : [po_external,po_inline]
|
||||
|
@ -356,7 +356,7 @@ unit cpupara;
|
||||
end;
|
||||
hp.paraloc[side].reset;
|
||||
{ currently only support C-style array of const }
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl,pocall_mwpascal]) and
|
||||
if (p.proccalloption in cstylearrayofconst) and
|
||||
is_array_of_const(paradef) then
|
||||
begin
|
||||
paraloc:=hp.paraloc[side].add_location;
|
||||
@ -573,7 +573,7 @@ unit cpupara;
|
||||
firstfloatreg:=curfloatreg;
|
||||
|
||||
result:=create_paraloc_info_intern(p,callerside,p.paras,curintreg,curfloatreg,curmmreg,cur_stack_offset, false);
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl,pocall_mwpascal]) then
|
||||
if (p.proccalloption in cstylearrayofconst) then
|
||||
{ just continue loading the parameters in the registers }
|
||||
begin
|
||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset,true);
|
||||
|
@ -214,7 +214,7 @@ implementation
|
||||
paradef:=hp.vardef;
|
||||
{ currently only support C-style array of const,
|
||||
there should be no location assigned to the vararg array itself }
|
||||
if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
|
||||
if (p.proccalloption in cstylearrayofconst) and
|
||||
is_array_of_const(paradef) then
|
||||
begin
|
||||
paraloc:=hp.paraloc[side].add_location;
|
||||
|
Loading…
Reference in New Issue
Block a user