[BUG REPORT] Parameterausdruck ByteArray Enum Cast

Thomas.AC
Benutzer
Avatar
Gender: n/a
Age: 43
Posts: 308
Registered: 07 / 2013
Subject:

[BUG REPORT] Parameterausdruck ByteArray Enum Cast

 · 
Posted: 19.10.2016 - 16:40  ·  #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.
Attachments
Simulatorausgabe
Filename: avrcoBug_ByteArrayEnumTypecast.png
Filesize: 34.83 KB
Title: Simulatorausgabe
Download counter: 93
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: [BUG REPORT] Parameterausdruck ByteArray Enum Cast

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

rolf
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 15   52   67 · Page-Gen-Time: 0.081267s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI