Menu

#2108 findLabel cannot find labels

closed-fixed
MCS51
5
2018-06-27
2012-11-18
No

The current implementation of findLabel() in peep.c for mcs51 tries to find labels but forgets to compensate for the trailing colon and thus cannot find any label. And when fixed SDCC generates errors when compiling the libraries. E.g.

../../bin/sdcc -I../../device/include -I../../device/include/mcs51 --model-small --nostdinc --std-c99 -c time.c -o small/time.rel
time.c:208: error 9: FATAL Compiler Internal Error in file 'peep.c' line number '555' : error in deadmove
Contact Author with source code
make[4]: *** [small/time.rel] Error 1

Discussion

  • Ben Shi

    Ben Shi - 2015-07-10
    • Category: --> MCS51
     
  • Philipp Klaus Krause

    • status: open --> closed-fixed
    • assigned_to: Philipp Klaus Krause
     
  • Philipp Klaus Krause

    In [r10458], I fixed the issue in findLabel(). I worked arund the error by making doPushScan() non-recursive for now. Due to the bug, recursion didn't work there anyway. This means the removal of dead push/pop pairs still won't work over conditional jumps. But at least the removal of dead moves is now working properly across them.

    Philipp

     

Log in to post a comment.