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 <[email protected]>
* 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. */