BUG REPORT: type checking

Thomas.AC
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 44
Beiträge: 308
Dabei seit: 07 / 2013
Betreff:

BUG REPORT: type checking

 · 
Gepostet: 18.07.2017 - 13:45 Uhr  ·  #1
Hallo,

Zuweisungen der Art 'string := byte' werden nicht immer als Fehler erkannt.
Siehe code. (Im Fall einer ASCII-Datenschnittstelle schleichen sich dadurch schnell Bugs ein, da man hier oft Bytes in Strings konvertiert)

Code

program TEST; // compiler Ver 5.9.15
Device = mega2560, VCC=5;
Import;
Define
  ProcClock      = 8000000;       {Hertz}
  StackSize      = $0100, iData;
  FrameSize      = $0100, iData;

implementation

type
  tStr24 = string[24];
  tByteWrapper = record
    byteValue : byte;
  end;

{$IDATA}
var
 testByte : byte;
 testStr : tStr24;
 testByteWrapper : tByteWrapper;
 
procedure checkStr (value : tStr24);
begin
end;

begin
  checkStr(testByte); // bug: keine Compilerfehler
  testStr := testByteWrapper.byteValue; // bug: keine Compilerfehler
end.

rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 26
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: BUG REPORT: type checking

 · 
Gepostet: 20.07.2017 - 20:27 Uhr  ·  #2
Hallo Thomas,
Ich prüfe das
Rolf
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 8 · Cache Hits: 14   52   66 · Page-Gen-Time: 0.013693s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI