From 8e4e229a5fe9e8086d39bf36d23496794e29fe6f Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 11 Jan 2022 22:10:26 +0100 Subject: [PATCH] + DestSize parameter for fpc_Val_UInt functions --- compiler/ninl.pas | 4 ++-- rtl/inc/astrings.inc | 2 +- rtl/inc/compproc.inc | 8 ++++---- rtl/inc/sstrings.inc | 2 +- rtl/inc/ustrings.inc | 2 +- rtl/inc/wstrings.inc | 3 +-- 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/compiler/ninl.pas b/compiler/ninl.pas index 12c607240d..57ee727b25 100644 --- a/compiler/ninl.pas +++ b/compiler/ninl.pas @@ -1651,8 +1651,8 @@ implementation u8bit,u16bit,u32bit,u64bit: begin suffix := get_val_int_func(destpara.resultdef) + '_'; - { we also need a destsize para in the case of sint } - if suffix = 'sint_' then + { we also need a destsize para in the case of sint or uint } + if (suffix = 'sint_') or (suffix = 'uint_') then sizepara := ccallparanode.create(cordconstnode.create (destpara.resultdef.size,s32inttype,true),nil); end; diff --git a/rtl/inc/astrings.inc b/rtl/inc/astrings.inc index e38512e32d..7616dbe26a 100644 --- a/rtl/inc/astrings.inc +++ b/rtl/inc/astrings.inc @@ -1067,7 +1067,7 @@ begin end; -Function fpc_Val_UInt_AnsiStr (Const S : RawByteString; out Code : ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_ANSISTR']; compilerproc; +Function fpc_Val_UInt_AnsiStr ({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S : RawByteString; out Code : ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_ANSISTR']; compilerproc; Var SS : ShortString; begin diff --git a/rtl/inc/compproc.inc b/rtl/inc/compproc.inc index d1481c9fe9..542f287e97 100644 --- a/rtl/inc/compproc.inc +++ b/rtl/inc/compproc.inc @@ -216,14 +216,14 @@ procedure fpc_chararray_Currency(c : Currency;len,fr : SizeInt;out a : array of Function fpc_Val_Real_ShortStr(const s : shortstring; out code : ValSInt): ValReal; compilerproc; {$endif} Function fpc_Val_SInt_ShortStr(DestSize: SizeInt; Const S: ShortString; out Code: ValSInt): ValSInt; compilerproc; -Function fpc_Val_UInt_Shortstr(Const S: ShortString; out Code: ValSInt): ValUInt; compilerproc; +Function fpc_Val_UInt_Shortstr({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S: ShortString; out Code: ValSInt): ValUInt; compilerproc; function fpc_val_enum_shortstr(str2ordindex:pointer;const s:shortstring;out code:valsint):longint; compilerproc; Function fpc_Val_Currency_ShortStr(const s : shortstring; out Code : ValSInt): currency; compilerproc; {$ifdef FPC_HAS_FEATURE_ANSISTRINGS} {$ifndef FPUNONE} Function fpc_Val_Real_AnsiStr(Const S : RawByteString; out Code : ValSInt): ValReal; compilerproc; {$endif} -Function fpc_Val_UInt_AnsiStr (Const S : RawByteString; out Code : ValSInt): ValUInt; compilerproc; +Function fpc_Val_UInt_AnsiStr ({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S : RawByteString; out Code : ValSInt): ValUInt; compilerproc; Function fpc_Val_SInt_AnsiStr (DestSize: SizeInt; Const S : RawByteString; out Code : ValSInt): ValSInt; compilerproc; Function fpc_Val_Currency_AnsiStr(Const S : RawByteString; out Code : ValSInt): Currency; compilerproc; function fpc_Val_enum_ansistr(str2ordindex:pointer;const s:RawByteString;out code:valsint):longint; compilerproc; @@ -235,7 +235,7 @@ function fpc_Val_enum_ansistr(str2ordindex:pointer;const s:RawByteString;out cod Function fpc_Val_Real_WideStr(Const S : WideString; out Code : ValSInt): ValReal; compilerproc; {$endif} Function fpc_Val_SInt_WideStr (DestSize: SizeInt; Const S : WideString; out Code : ValSInt): ValSInt; compilerproc; - Function fpc_Val_UInt_WideStr (Const S : WideString; out Code : ValSInt): ValUInt; compilerproc; + Function fpc_Val_UInt_WideStr ({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S : WideString; out Code : ValSInt): ValUInt; compilerproc; function fpc_val_Enum_WideStr (str2ordindex:pointer;const s:WideString;out code:valsint):longint;compilerproc; Function fpc_Val_Currency_WideStr(Const S : WideString; out Code : ValSInt): Currency; compilerproc; {$endif ndef FPC_WIDESTRING_EQUAL_UNICODESTRING} @@ -243,7 +243,7 @@ function fpc_Val_enum_ansistr(str2ordindex:pointer;const s:RawByteString;out cod Function fpc_Val_Real_UnicodeStr(Const S : UnicodeString; out Code : ValSInt): ValReal; compilerproc; {$endif} Function fpc_Val_SInt_UnicodeStr (DestSize: SizeInt; Const S : UnicodeString; out Code : ValSInt): ValSInt; compilerproc; - Function fpc_Val_UInt_UnicodeStr (Const S : UnicodeString; out Code : ValSInt): ValUInt; compilerproc; + Function fpc_Val_UInt_UnicodeStr ({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S : UnicodeString; out Code : ValSInt): ValUInt; compilerproc; function fpc_val_Enum_UnicodeStr(str2ordindex:pointer;const s:UnicodeString;out code:valsint):longint;compilerproc; Function fpc_Val_Currency_UnicodeStr(Const S : UnicodeString; out Code : ValSInt): Currency; compilerproc; {$endif FPC_HAS_FEATURE_WIDESTRINGS} diff --git a/rtl/inc/sstrings.inc b/rtl/inc/sstrings.inc index 756aba8450..5deacbaeb5 100644 --- a/rtl/inc/sstrings.inc +++ b/rtl/inc/sstrings.inc @@ -1250,7 +1250,7 @@ Function int_Val_SInt_ShortStr(DestSize: SizeInt; Const S: ShortString; out Code {$endif FPC_HAS_INT_VAL_SINT_SHORTSTR} -Function fpc_Val_UInt_Shortstr(Const S: ShortString; out Code: ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_SHORTSTR']; compilerproc; +Function fpc_Val_UInt_Shortstr({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S: ShortString; out Code: ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_SHORTSTR']; compilerproc; var base,u : byte; negative : boolean; diff --git a/rtl/inc/ustrings.inc b/rtl/inc/ustrings.inc index 50f672a350..e5358e2f6e 100644 --- a/rtl/inc/ustrings.inc +++ b/rtl/inc/ustrings.inc @@ -1468,7 +1468,7 @@ begin end; -Function fpc_Val_UInt_UnicodeStr (Const S : UnicodeString; out Code : ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_UNICODESTR']; compilerproc; +Function fpc_Val_UInt_UnicodeStr ({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S : UnicodeString; out Code : ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_UNICODESTR']; compilerproc; Var SS: ShortString; begin diff --git a/rtl/inc/wstrings.inc b/rtl/inc/wstrings.inc index 95d96d5715..6e2ba58280 100644 --- a/rtl/inc/wstrings.inc +++ b/rtl/inc/wstrings.inc @@ -805,8 +805,7 @@ begin end; end; - -Function fpc_Val_UInt_WideStr (Const S : WideString; out Code : ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_WIDESTR']; compilerproc; +Function fpc_Val_UInt_WideStr ({$ifndef VER3_2}DestSize: SizeInt;{$endif VER3_2} Const S : WideString; out Code : ValSInt): ValUInt; [public, alias:'FPC_VAL_UINT_WIDESTR']; compilerproc; Var SS: ShortString; begin