E-LAB Computers
 

[BUG REPORT] Parameterausdruck ByteArray Enum Cast

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

[BUG REPORT] Parameterausdruck ByteArray Enum Cast

 · 
Gepostet: 19.10.2016 - 16:40 Uhr  ·  #1
Hallo,

Bei meinem Code wird die Zeile getOutput(T_Input(arr[2])) falsch compiliert.
Es wird ein falscher Parameterwert übergeben (siehe Bild).

Wenn ich den Parameterausdruck vorher in eine Zwischenvariable kopiere, dann tritt der Fehler nicht auf.

Gruß

Thomas.AC

Code

program Test;

Device = mega2560, VCC=5;

Import SysTick;

Define
    // System
    ProcClock      = 8000000;             //Hertz
    SysTick        = 5;
    StackSize      = 256, iData;
    FrameSize      = 256, iData;

Implementation
{$IDATA}

type
  T_Input = (IN0, IN1, IN2, IN3);

const
  VAL2 : byte = 2;
  
var
  arr : array[0..4] of byte;

procedure getOutput(input : T_Input);
begin
  // Fehler: input ist ungleich 3 bzw. IN3
  NOP; // nur für breakpoint
end;

begin
  arr[0] := 3;
  arr[1] := 3;
  arr[2] := 3;
  arr[3] := 3;
  arr[4] := 3;
  loop
    getOutput(T_Input(arr[2])); // Aufruf mit 3
  endloop;
end Test.
Anhänge an diesem Beitrag
Simulatorausgabe
Dateiname: avrcoBug_ByteArrayEnumTypecast.png
Dateigröße: 34.83 KB
Titel: Simulatorausgabe
Heruntergeladen: 258
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 26
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: [BUG REPORT] Parameterausdruck ByteArray Enum Cast

 · 
Gepostet: 19.10.2016 - 17:39 Uhr  ·  #2
Hallo Thomas,
ja, ein offensichtlicher Bug.
Ist hoffentlich am WE raus.

rolf
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Thema

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.