From b0e9b9d7052ff7a0102d80217e57b6193ed9c01b Mon Sep 17 00:00:00 2001 From: Sven/Sarah Barth Date: Mon, 6 Mar 2023 23:14:31 +0100 Subject: [PATCH] * don't use size specific binary comparers --- .../rtl-generics/src/generics.defaults.pas | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/packages/rtl-generics/src/generics.defaults.pas b/packages/rtl-generics/src/generics.defaults.pas index 71a9f0aab3..4758a8e3b2 100644 --- a/packages/rtl-generics/src/generics.defaults.pas +++ b/packages/rtl-generics/src/generics.defaults.pas @@ -2141,16 +2141,7 @@ end; class function TComparerService.SelectBinaryComparer(ATypeData: PTypeData; ASize: SizeInt): Pointer; begin - case ASize of - 1: Exit(@Comparer_UInt8_Instance); - 2: Exit(@Comparer_UInt16_Instance); - 4: Exit(@Comparer_UInt32_Instance); -{$IFDEF CPU64} - 8: Exit(@Comparer_UInt64_Instance) -{$ENDIF} - else - Result := CreateInterface(@Comparer_Binary_VMT, ASize); - end; + Result := CreateInterface(@Comparer_Binary_VMT, ASize); end; class function TComparerService.SelectDynArrayComparer(ATypeData: PTypeData; ASize: SizeInt): Pointer; @@ -2254,16 +2245,7 @@ end; class function THashService.SelectBinaryEqualityComparer(ATypeData: PTypeData; ASize: SizeInt): Pointer; begin - case ASize of - 1: Exit(@FEqualityComparer_UInt8_Instance); - 2: Exit(@FEqualityComparer_UInt16_Instance); - 4: Exit(@FEqualityComparer_UInt32_Instance); -{$IFDEF CPU64} - 8: Exit(@FEqualityComparer_UInt64_Instance) -{$ENDIF} - else - Result := CreateInterface(@FEqualityComparer_Binary_VMT, ASize); - end; + Result := CreateInterface(@FEqualityComparer_Binary_VMT, ASize); end; class function THashService.SelectDynArrayEqualityComparer( @@ -2467,16 +2449,7 @@ end; class function TExtendedHashService.SelectBinaryEqualityComparer(ATypeData: PTypeData; ASize: SizeInt): Pointer; begin - case ASize of - 1: Exit(@FExtendedEqualityComparer_UInt8_Instance); - 2: Exit(@FExtendedEqualityComparer_UInt16_Instance); - 4: Exit(@FExtendedEqualityComparer_UInt32_Instance); -{$IFDEF CPU64} - 8: Exit(@FExtendedEqualityComparer_UInt64_Instance) -{$ENDIF} - else - Result := CreateInterface(@FExtendedEqualityComparer_Binary_VMT, ASize); - end; + Result := CreateInterface(@FExtendedEqualityComparer_Binary_VMT, ASize); end; class function TExtendedHashService.SelectDynArrayEqualityComparer(