mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 21:02:09 +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,
|
{ currently only support C-style array of const,
|
||||||
there should be no location assigned to the vararg array itself }
|
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
|
is_array_of_const(paradef) then
|
||||||
begin
|
begin
|
||||||
paraloc:=hp.paraloc[side].add_location;
|
paraloc:=hp.paraloc[side].add_location;
|
||||||
@ -701,7 +701,7 @@ unit cpupara;
|
|||||||
init_values(curintreg,curfloatreg,curmmreg,cur_stack_offset,sparesinglereg);
|
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);
|
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 }
|
{ just continue loading the parameters in the registers }
|
||||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset,sparesinglereg,true)
|
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset,sparesinglereg,true)
|
||||||
else
|
else
|
||||||
|
@ -260,7 +260,7 @@ unit cpupara;
|
|||||||
|
|
||||||
{ currently only support C-style array of const,
|
{ currently only support C-style array of const,
|
||||||
there should be no location assigned to the vararg array itself }
|
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
|
is_array_of_const(paradef) then
|
||||||
begin
|
begin
|
||||||
paraloc:=hp.paraloc[side].add_location;
|
paraloc:=hp.paraloc[side].add_location;
|
||||||
@ -478,7 +478,7 @@ unit cpupara;
|
|||||||
init_values(curintreg,curfloatreg,curmmreg,cur_stack_offset);
|
init_values(curintreg,curfloatreg,curmmreg,cur_stack_offset);
|
||||||
|
|
||||||
result:=create_paraloc_info_intern(p,callerside,p.paras,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 }
|
{ just continue loading the parameters in the registers }
|
||||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset)
|
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset)
|
||||||
else
|
else
|
||||||
|
@ -462,6 +462,8 @@ interface
|
|||||||
pocall_default = pocall_stdcall;
|
pocall_default = pocall_stdcall;
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
|
cstylearrayofconst = [pocall_cdecl,pocall_cppdecl,pocall_mwpascal];
|
||||||
|
|
||||||
modeswitchstr : array[tmodeswitch] of string[18] = ('','',
|
modeswitchstr : array[tmodeswitch] of string[18] = ('','',
|
||||||
'','','','','','',
|
'','','','','','',
|
||||||
{$ifdef fpc_mode}'',{$endif}
|
{$ifdef fpc_mode}'',{$endif}
|
||||||
|
@ -285,7 +285,7 @@ unit cpupara;
|
|||||||
hp.paraloc[side].reset;
|
hp.paraloc[side].reset;
|
||||||
|
|
||||||
{ currently only support C-style array of const }
|
{ 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
|
is_array_of_const(paradef) then
|
||||||
begin
|
begin
|
||||||
{$ifdef DEBUG_CHARLIE}
|
{$ifdef DEBUG_CHARLIE}
|
||||||
@ -549,7 +549,7 @@ unit cpupara;
|
|||||||
init_values(curintreg,curfloatreg,cur_stack_offset);
|
init_values(curintreg,curfloatreg,cur_stack_offset);
|
||||||
|
|
||||||
result:=create_paraloc_info_intern(p,callerside,p.paras,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 }
|
{ just continue loading the parameters in the registers }
|
||||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,cur_stack_offset)
|
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,cur_stack_offset)
|
||||||
else
|
else
|
||||||
|
@ -288,7 +288,7 @@ implementation
|
|||||||
paradef := hp.vardef;
|
paradef := hp.vardef;
|
||||||
|
|
||||||
{ currently only support C-style array of const }
|
{ 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
|
is_array_of_const(paradef) then
|
||||||
begin
|
begin
|
||||||
paraloc:=hp.paraloc[side].add_location;
|
paraloc:=hp.paraloc[side].add_location;
|
||||||
|
@ -2175,7 +2175,7 @@ const
|
|||||||
handler : @pd_interrupt;
|
handler : @pd_interrupt;
|
||||||
pocall : pocall_oldfpccall;
|
pocall : pocall_oldfpccall;
|
||||||
pooption : [po_interrupt];
|
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];
|
pocall_pascal,pocall_far16,pocall_oldfpccall];
|
||||||
mutexclpotype : [potype_constructor,potype_destructor,potype_operator,potype_class_constructor,potype_class_destructor];
|
mutexclpotype : [potype_constructor,potype_destructor,potype_operator,potype_class_constructor,potype_class_destructor];
|
||||||
mutexclpo : [po_external,po_inline]
|
mutexclpo : [po_external,po_inline]
|
||||||
|
@ -356,7 +356,7 @@ unit cpupara;
|
|||||||
end;
|
end;
|
||||||
hp.paraloc[side].reset;
|
hp.paraloc[side].reset;
|
||||||
{ currently only support C-style array of const }
|
{ 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
|
is_array_of_const(paradef) then
|
||||||
begin
|
begin
|
||||||
paraloc:=hp.paraloc[side].add_location;
|
paraloc:=hp.paraloc[side].add_location;
|
||||||
@ -573,7 +573,7 @@ unit cpupara;
|
|||||||
firstfloatreg:=curfloatreg;
|
firstfloatreg:=curfloatreg;
|
||||||
|
|
||||||
result:=create_paraloc_info_intern(p,callerside,p.paras,curintreg,curfloatreg,curmmreg,cur_stack_offset, false);
|
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 }
|
{ just continue loading the parameters in the registers }
|
||||||
begin
|
begin
|
||||||
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset,true);
|
result:=create_paraloc_info_intern(p,callerside,varargspara,curintreg,curfloatreg,curmmreg,cur_stack_offset,true);
|
||||||
|
@ -214,7 +214,7 @@ implementation
|
|||||||
paradef:=hp.vardef;
|
paradef:=hp.vardef;
|
||||||
{ currently only support C-style array of const,
|
{ currently only support C-style array of const,
|
||||||
there should be no location assigned to the vararg array itself }
|
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
|
is_array_of_const(paradef) then
|
||||||
begin
|
begin
|
||||||
paraloc:=hp.paraloc[side].add_location;
|
paraloc:=hp.paraloc[side].add_location;
|
||||||
|
Loading…
Reference in New Issue
Block a user