diff options
author | davek <davek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-12-30 23:20:55 +0000 |
---|---|---|
committer | davek <davek@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-12-30 23:20:55 +0000 |
commit | b21341a395dbf7b790b1150de9705a39a9f4eebe (patch) | |
tree | fd8521d5f3456865a1dddcc8da023acb3c52f855 /gcc/lto-streamer-out.c | |
parent | 41f22863e3a7e5442e17c0c6d1d4b55eebfd6318 (diff) | |
download | gcc-b21341a395dbf7b790b1150de9705a39a9f4eebe.tar.gz |
PR lto/42531
* lto-streamer-out.c (produce_asm): Skip any leading asterisk when
using DECL_ASSEMBLER_NAME to generate a section name.
(copy_function): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155528 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer-out.c')
-rw-r--r-- | gcc/lto-streamer-out.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index f81ff7278ef..1f9c2e05bb0 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1784,6 +1784,8 @@ produce_asm (struct output_block *ob, tree fn) if (section_type == LTO_section_function_body) { const char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (fn)); + if (name[0] == '*') + name++; section_name = lto_get_section_name (section_type, name); } else @@ -2007,11 +2009,16 @@ copy_function (struct cgraph_node *node) const char *data; size_t len; const char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (function)); - char *section_name = - lto_get_section_name (LTO_section_function_body, name); + char *section_name; size_t i, j; struct lto_in_decl_state *in_state; - struct lto_out_decl_state *out_state = lto_get_out_decl_state (); + struct lto_out_decl_state *out_state; + + if (name[0] == '*') + name++; + section_name = + lto_get_section_name (LTO_section_function_body, name); + out_state = lto_get_out_decl_state (); lto_begin_section (section_name, !flag_wpa); free (section_name); |