From 62e7bb62547a4423fccb6d70e47f50b35fdd337d Mon Sep 17 00:00:00 2001 From: svenbarth Date: Sat, 24 Aug 2019 23:08:23 +0000 Subject: [PATCH] * correct alignment for the result name/type git-svn-id: trunk@42804 - --- packages/rtl-objpas/src/inc/rtti.pp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/rtl-objpas/src/inc/rtti.pp b/packages/rtl-objpas/src/inc/rtti.pp index b66af3c008..95428ed21f 100644 --- a/packages/rtl-objpas/src/inc/rtti.pp +++ b/packages/rtl-objpas/src/inc/rtti.pp @@ -3298,7 +3298,7 @@ begin if not aWithHidden and (Length(FParams) > 0) then Exit(FParams); - ptr := AlignTParamFlags(@FTypeData^.ParamList[0]); + ptr := @FTypeData^.ParamList[0]; visible := 0; total := 0; @@ -3307,6 +3307,8 @@ begin SetLength(infos, FTypeData^.ParamCount); while total < FTypeData^.ParamCount do begin + { align } + ptr := AlignTParamFlags(ptr); infos[total].Handle := ptr; infos[total].Flags := PParamFlags(ptr)^; Inc(ptr, SizeOf(TParamFlags)); @@ -3315,8 +3317,6 @@ begin Inc(ptr, ptr^ + SizeOf(Byte)); { skip type name } Inc(ptr, ptr^ + SizeOf(Byte)); - { align } - ptr := AlignTParamFlags(ptr); if not (pfHidden in infos[total].Flags) then Inc(visible); @@ -3326,7 +3326,7 @@ begin if FTypeData^.MethodKind in [mkFunction, mkClassFunction] then begin { skip return type name } - ptr := AlignTypeData(PByte(ptr) + ptr^ + SizeOf(Byte)); + ptr := AlignToPtr(PByte(ptr) + ptr^ + SizeOf(Byte)); { handle return type } FReturnType := GRttiPool.GetType(PPPTypeInfo(ptr)^^); Inc(ptr, SizeOf(PPTypeInfo));