Menu

#1928 gen{,End}Function does not properly track registers to save

closed-fixed
MCS51
5
2014-05-04
2012-02-06
No

gen{,End}Function currently, when producing the pro-/epilogue for a callee_saved function, does not track whether any caller_saved functions are called. In that case, it should save all registers, but it doesn't, violating the callee_saved property.

SDCC Version 3.1.0 #7066 (Dec 12 2011) (Linux)

The code generated for y should first push all registers, then call x, then pop all registers. Currently, it doesn't do that.

Discussion

  • Thomas Sailer

    Thomas Sailer - 2012-02-06

    callee_saved calling caller_saved

     
  • Maarten Brock

    Maarten Brock - 2014-05-04
    • assigned_to: Maarten Brock
    • Category: --> MCS51
     
  • Maarten Brock

    Maarten Brock - 2014-05-04

    Fixed in SDCC [r9021]

    • status: open --> closed-fixed
     

    Last edit: Maarten Brock 2014-05-04

Log in to post a comment.