Anonymous - 2011-01-16

Before, in sdcc 2.5.x, I could declare a variable in data EEPROM like

const unsigned char __at 0x2100 eedata=0x1c;

…and it would put do so.

Now it tries to encode it like an array in code memory producing ASM like

ID_0016_ascii_3 code    0x2100
        retlw 0x1c

the retlw instruction obviously has no reason to be in data EEPROM.

I've tried specifiers like __data and __code.  They don't make any difference.

This breaks an awful lot of my code and I'm wondering how to fix it.