http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50807
Georg-Johann Lay <gjl at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P3 |P5 Status|UNCONFIRMED |NEW Last reconfirmed| |2011-10-20 Target Milestone|--- |4.6.2 Ever Confirmed|0 |1 Known to fail| |4.6.2, 4.7.0 Severity|normal |minor --- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-10-20 10:16:37 UTC --- Confirmed with 4.6.2 The generated code is a bit different. var is put into the correct section .progmem but there is no error and the constructor will write to RAM: .section .text.startup,"ax",@progbits .type _GLOBAL__sub_I_progmem.c, @function _GLOBAL__sub_I_progmem.c: ldi r24,lo8(72) sts _ZL3var,r24 ret .size _GLOBAL__sub_I_progmem.c, .-_GLOBAL__sub_I_progmem.c .global __do_global_ctors .section .ctors,"a",@progbits .word gs(_GLOBAL__sub_I_progmem.c) .section .progmem.data,"a",@progbits .type _ZL3var, @object .size _ZL3var, 1 _ZL3var: .skip 1,0