Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#1

Unverständliche Compiler Warnung

  Alt 10. Dez 2023, 14:22
Hallo,

in folgendem Codefragment bekomme ich diese Compilerwarung:
[DCC Warnung] DECHash.pas(5316): W1012 Konstantenausdruck verletzt untere Grenzen

Delphi-Quellcode:
var
  i, rounds: UInt32;
begin
  // number of rounds = 2^cost, loop includes 0
  if (FCost = 31) then
    rounds := MaxLongint
  else
    rounds := (Int32(1) shl FCost) - 1;
FCost ist dabei ein UInt8.
Und leider zeigt die IDE auf das ELSE wenn ich von der Warnunbg aus hinspringe.
Ein Ändern des Typecast auf UInt32(1) hat nicht geholfen.

Wer sich für mehr Kontext interessiert:

Delphi-Quellcode:
procedure THash_BCrypt.EksBlowfishSetup(var Password : TBytes;
                                        PasswordSize : Integer);
in DECHash.pas hier: https://github.com/decfpc/DelphiEncryptionCompendium

Was löst die Warnung aus?

Grüße
TurboMagic
  Mit Zitat antworten Zitat