The following (perhaps questionable) code causes an ICE in in set_mem_attributes_minus_bitpos, at emit-rtl.c:1539
compile command line: avr-g++ -mmcu=atmega128 -c -o romproblems.o romproblems.cpp program: #define PROGMEM __attribute__((__progmem__)) struct ROMVar1 { int const val; ROMVar1(int const& init) : val(init) { } }; ROMVar1 PROGMEM rv1b(123); -- Summary: ICE when assigning memory attribute to class with initializer Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ned at bike-nomad dot com GCC build triplet: powerpc-apple-darwin8.5.0 GCC host triplet: powerpc-apple-darwin8.5.0 GCC target triplet: avr-unknown-none http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26883