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.