mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 03:19:27 +02:00
* always put parameters in left-to-right order in rtti (Delphi-compatible)
* adapted test (and removed BOM) git-svn-id: trunk@13708 -
This commit is contained in:
parent
47e90bbdf3
commit
da7fdf76d5
@ -681,18 +681,9 @@ implementation
|
||||
{ write parameter info. The parameters must be written in reverse order
|
||||
if this method uses right to left parameter pushing! }
|
||||
current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_8bit(def.maxparacount));
|
||||
{$ifdef i386}
|
||||
if def.proccalloption in pushleftright_pocalls then
|
||||
begin
|
||||
for i:=0 to def.paras.count-1 do
|
||||
write_para(tparavarsym(def.paras[i]));
|
||||
end
|
||||
else
|
||||
{$endif}
|
||||
begin
|
||||
for i:=def.paras.count-1 downto 0 do
|
||||
write_para(tparavarsym(def.paras[i]));
|
||||
end;
|
||||
|
||||
for i:=0 to def.paras.count-1 do
|
||||
write_para(tparavarsym(def.paras[i]));
|
||||
|
||||
{ write name of result type }
|
||||
write_rtti_name(def.returndef);
|
||||
|
@ -1,4 +1,4 @@
|
||||
{$M+}
|
||||
{$M+}
|
||||
program RTTI132;
|
||||
|
||||
{$IFDEF FPC}
|
||||
@ -357,11 +357,11 @@ end;
|
||||
const
|
||||
expectedresults: array[0..6] of ansistring = (
|
||||
'',
|
||||
'function (out Out1: Int64; const P: Pointer; var array of reference ?Array1: AnsiString): Int64 of object;',
|
||||
'procedure (const adresse ?Component4: TComponent; adresse ?out Component3: TComponent; var adresse ?Component2: TComponent; adresse ?Component1: TComponent) of object;',
|
||||
'function (array of reference ?out D: Byte; var array of reference ?C: Byte; const array of reference ?B: Byte; array of reference ?A: Byte): TComponent of object;',
|
||||
'function (const A: LongInt; var S: AnsiString): Int64 of object;',
|
||||
'function (Six: LongInt; array of reference ?Five: Byte; Four: PInteger; adresse ?out Three: TMyObject; var Two: LongInt; const A: AnsiString): AnsiString of object;',
|
||||
'function (var array of reference ?Array1: AnsiString; const P: Pointer; out Out1: Int64): Int64 of object;',
|
||||
'procedure (adresse ?Component1: TComponent; var adresse ?Component2: TComponent; adresse ?out Component3: TComponent; const adresse ?Component4: TComponent) of object;',
|
||||
'function (array of reference ?A: Byte; const array of reference ?B: Byte; var array of reference ?C: Byte; array of reference ?out D: Byte): TComponent of object;',
|
||||
'function (var S: AnsiString; const A: LongInt): Int64 of object;',
|
||||
'function (const A: AnsiString; var Two: LongInt; adresse ?out Three: TMyObject; Four: PInteger; array of reference ?Five: Byte; Six: LongInt): AnsiString of object;',
|
||||
'procedure (var S: AnsiString) of object;'
|
||||
);
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user