re PR target/14047 (__progmem__ attribute doesn't work)
PR target/14047 * 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. From-SVN: r79433
This commit is contained in:
parent
58354fa8a1
commit
427ee3601d
|
@ -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);
|
||||
|
|
|
@ -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"),
|
||||
|
|
Loading…
Reference in New Issue