We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
The following two lines produce an L46 warning:
sbit aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab = 0xD0^0;sbit aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac = 0xD0^1;*** WARNING L46: SFR SYMBOL HAS DIFFERENT VALUES SYMBOL: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa MODULE: MAIN.obj (MAIN) DEFINED: MAIN.obj (MAIN)
sbit aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab = 0xD0^0;
sbit aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac = 0xD0^1;
The identifiers are 41 characters long each. It seems the linker discards anything after 40 characters.
I could not find any information on such a limit in the documentation. Could someone point me to the right place?
Also, I would like to know whether there are any options to disable this limit or to circumvent it (other than making the identifier shorter).
Sorry, I don't thing there is an "other than" - you're stuck with the limit.
It might even be a limit of the object module format?
Remember that C51 is a pretty old product - such limitations were common in the days of its youth.