Hi Guys, > Jan-Benedict Glaw wrote:
I've been away for holidays and other stuff, so this is a bit late, but nevermind... The stringification of DECL_SECTION_NAME had some fallout, see eg. http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=272454 /home/jbglaw/repos/gcc/gcc/config/v850/v850.c:2647: error: cannot convert ‘tree_node*’ to ‘const char*’ for argument ‘2’ to ‘void set_decl_section_name(tree_node*, const char*)’
Fixed with this patch. Cheers Nick gcc/ChangeLog 2014-06-25 Nick Clifton <ni...@redhat.com> * config/v850/v850.c (GHS_default_section_names): Change to const char * type. (GHS_current_section_names): Likewise. (v850_insert_attributes): Do not build strings, just assign the names directly. Change the type of 'chosen_section' to const char*. * config/v850/v850-c.c (ghs_pragma_section): Assign the alias directly to the array entry. * config/v850/v850.h (GHS_default_section_names): Change to const char * type. (GHS_current_section_names): Likewise.
Index: gcc/config/v850/v850-c.c =================================================================== --- gcc/config/v850/v850-c.c (revision 211967) +++ gcc/config/v850/v850-c.c (working copy) @@ -175,8 +175,7 @@ if (streq (alias, "default")) GHS_current_section_names [kind] = NULL; else - GHS_current_section_names [kind] = - build_string (strlen (alias) + 1, alias); + GHS_current_section_names [kind] = alias; } while (repeat); Index: gcc/config/v850/v850.c =================================================================== --- gcc/config/v850/v850.c (revision 211967) +++ gcc/config/v850/v850.c (working copy) @@ -54,8 +54,8 @@ static void v850_print_operand_address (FILE *, rtx); /* Names of the various data areas used on the v850. */ -tree GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; -tree GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; +const char * GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; +const char * GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; /* Track the current data area set by the data area pragma (which can be nested). Tested by check_default_data_area. */ @@ -2569,19 +2569,19 @@ if (GHS_default_section_names [(int) GHS_SECTION_KIND_SDATA] == NULL) { GHS_default_section_names [(int) GHS_SECTION_KIND_SDATA] - = build_string (sizeof (".sdata")-1, ".sdata"); + = ".sdata"; GHS_default_section_names [(int) GHS_SECTION_KIND_ROSDATA] - = build_string (sizeof (".rosdata")-1, ".rosdata"); + = ".rosdata"; GHS_default_section_names [(int) GHS_SECTION_KIND_TDATA] - = build_string (sizeof (".tdata")-1, ".tdata"); + = ".tdata"; GHS_default_section_names [(int) GHS_SECTION_KIND_ZDATA] - = build_string (sizeof (".zdata")-1, ".zdata"); + = ".zdata"; GHS_default_section_names [(int) GHS_SECTION_KIND_ROZDATA] - = build_string (sizeof (".rozdata")-1, ".rozdata"); + = ".rozdata"; } if (current_function_decl == NULL_TREE @@ -2592,7 +2592,7 @@ && !DECL_SECTION_NAME (decl)) { enum GHS_section_kind kind = GHS_SECTION_KIND_DEFAULT; - tree chosen_section; + const char * chosen_section; if (TREE_CODE (decl) == FUNCTION_DECL) kind = GHS_SECTION_KIND_TEXT; Index: gcc/config/v850/v850.h =================================================================== --- gcc/config/v850/v850.h (revision 211967) +++ gcc/config/v850/v850.h (working copy) @@ -916,7 +916,7 @@ For the *normal* section kinds (like .data, .text, etc.) we do not want to explicitly force the name of these sections, but would rather let the linker (or at least the back end) choose the name of the - section, UNLESS the user has force a specific name for these section + section, UNLESS the user has forced a specific name for these section kinds. To accomplish this set the name in ghs_default_section_names to null. */ @@ -952,8 +952,8 @@ extern data_area_stack_element * data_area_stack; /* Names of the various data areas used on the v850. */ -extern tree GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; -extern tree GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; +extern const char * GHS_default_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; +extern const char * GHS_current_section_names [(int) COUNT_OF_GHS_SECTION_KINDS]; /* The assembler op to start the file. */