I just migrated a project from Keil 3 to Keil 5 (C51 = V9.56.0.0 & LX51 4.66.66.0
I get the following (new) warnings:
*** WARNING L48: IGNORED RECURSIVE CALL CALLED: _SMBUS_SET_PACKET_DATA/SMBUS CALLER: SMBUS *** WARNING L48: IGNORED RECURSIVE CALL CALLED: SMBUS CALLER: _SMBUS_SET_PACKET_DATA/SMBUS
puzzle is that while there is a routine called smbus_set_packet_data there is no routine called smbus. In fact the routine is reproduced below:
static void smbus_set_packet_data(uint8_t pos, uint8_t val,uint8_t info) { smbus_packet[pos] = val; smbus_packet_info[pos] = info; }
What does the above warning indicate?
What exactly did the linker ignore? (Any calling sequence not included in the final binary?
thanks for the clarifications.
But the problem here has nothing specifically to do with "embedded" as such.
And we just end up seeing the same people repeating the same comments given many times in the past :(
You present that as if it were necessarily a bad thing. Well, it's not, if only because every year brings a new batch of newbies who need those comments to keep them from developing bad habits or incorrect beliefs, and who evidently cannot be bothered to research enough to find these comments on their own, so they have to get them delivered individually.
... and who evidently cannot be bothered to research enough to find these comments on their own ...
And that one extract illustrates my point perfectly.