Follow-up Comment #2, bug #28837 (project avr-libc):

The approach of redefining PROGMEM to
#define PROGMEM _attribute_(( section(".progmem.data") )) 
works, but is sensitive to storage class specification.


#include <avr/pgmspace.h>
#undef PROGMEM 
#define PROGMEM __attribute__(( section(".progmem.data") )) 
PROGMEM const char string1[] = "String 1";
PROGMEM char string2[] = "String 2";
int main(void) {
    return 1;
}


gives
error: string2 causes a section type conflict

Program memory is read-only flash memory so not using const is a bug.
Unfortunately it seems avr-libc is pretty buggy here...

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?28837>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/


_______________________________________________
AVR-libc-dev mailing list
AVR-libc-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-libc-dev

Reply via email to