diff --git a/gcc/config/avr/avr-protos.h b/gcc/config/avr/avr-protos.h index 19ee9e85b2db7966dc9495daac0cecd97aeebee1..d52d5bb5316c79c1d6a9352c9d571afbe86fce86 100644 --- a/gcc/config/avr/avr-protos.h +++ b/gcc/config/avr/avr-protos.h @@ -42,7 +42,7 @@ extern void gas_output_ascii (FILE *file, const char *str, size_t length); #ifdef TREE_CODE extern void asm_output_external (FILE *file, tree decl, char *name); -extern int avr_progmem_p (tree decl); +extern int avr_progmem_p (tree decl, tree attributes); #ifdef RTX_CODE /* inside TREE_CODE */ extern rtx avr_function_value (tree type, tree func); diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 705e07b52e92619c7ae471d64b461d44bfdc492e..092f1da9e0307eca6fba241d9be340e732101c53 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -4575,7 +4575,7 @@ avr_handle_fndecl_attribute (tree *node, tree name, if found return 1, otherwise 0. */ int -avr_progmem_p (tree decl) +avr_progmem_p (tree decl, tree attributes) { tree a; @@ -4583,7 +4583,7 @@ avr_progmem_p (tree decl) return 0; if (NULL_TREE - != lookup_attribute ("progmem", DECL_ATTRIBUTES (decl))) + != lookup_attribute ("progmem", attributes)) return 1; a=decl; @@ -4607,7 +4607,7 @@ avr_insert_attributes (tree node, tree *attributes) { if (TREE_CODE (node) == VAR_DECL && (TREE_STATIC (node) || DECL_EXTERNAL (node)) - && avr_progmem_p (node)) + && avr_progmem_p (node, *attributes)) { static const char dsec[] = ".progmem.data"; *attributes = tree_cons (get_identifier ("section"),