Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#2081 Wrong addresss in POINTER_SET

closed-fixed
z80 port (188)
7
2012-09-09
2012-09-08
No

There is a bug that results in the wrong address being used for POINTER_SET: Compiling the attahced file using --std-c99 --opt-code-size --nolospre --max-allocs-per-node 17610 gives the correct code, but when using --std-c99 --opt-code-size --nolospre --max-allocs-per-node 17615 the code is broken. The code for line edge_cache.prev = (i + 3) % 4; uses iy as if it held the address of edge_cache.prev, but it holds the address of edge_cache.v

I see this issue with sdcc 3.2.1 #8088 on debian/GNU Linux.

Priority 7, since bad code is generated silently.

Philipp

Discussion

  • File to reproduce bug

     
    Attachments
  • Fixed in revision #8092.

    Philipp

     
    • assigned_to: nobody --> spth
    • status: open --> closed-fixed