http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01462.html

Georg-Johann Lay wrote:
> PR34734 produces annoying, false warnings if __attribute__((progmem))
> is used in conjunction with C++.  DECL_INITIAL is not yet set up in
> avr_handle_progmem_attribute.
> 
> Johann
> 
>       PR target/34734
>       * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
>       about uninitialized data attributed 'progmem' from here...
>       (avr_encode_section_info): ...to this new function.
>       (TARGET_ENCODE_SECTION_INFO): New define.
>       (avr_section_type_flags): For data in ".progmem.data", remove
>       section flag SECTION_WRITE.

avr_encode_section_info is good place to emit the warning:
DECL_INITIAL has stabilized for C++, the warning will appear even for
unused variables that will eventually be thrown away, and the warning
appears only once (new_decl_p).

Johann

Reply via email to