OSDN Git Service

PR target/14047
authordenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Mar 2004 06:43:30 +0000 (06:43 +0000)
committerdenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 13 Mar 2004 06:43:30 +0000 (06:43 +0000)
* config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
(avr_insert_attributes): Pass "attributes" to avr_progmem_p.
* config/avr/avr-protos.h (avr_progmem_p): Change prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79433 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c

index 19ee9e8..d52d5bb 100644 (file)
@@ -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);
index 705e07b..092f1da 100644 (file)
@@ -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"),