[gcc(refs/vendors/redhat/heads/gcc-10-branch)] lto/lto.c – used $ or . in generated linkptr name

Jakub Jelinek jakub@gcc.gnu.org
Wed Mar 25 10:10:46 GMT 2020


https://gcc.gnu.org/g:ce6413087deba5888a0a9a24f95f3b796e46add9

commit ce6413087deba5888a0a9a24f95f3b796e46add9
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Mon Mar 23 14:41:58 2020 +0100

    lto/lto.c – used $ or . in generated linkptr name
    
            * lto.c (offload_handle_link_vars): Reduce chance of
            naming clashes of generated linkptr variable.

Diff:
---
 gcc/lto/ChangeLog | 5 +++++
 gcc/lto/lto.c     | 6 ++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 333f2a3d770..b3c2138aaa3 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
+
+	* lto.c (offload_handle_link_vars): Reduce chance of
+	naming clashes of generated linkptr variable.
+
 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
 
 	PR middle-end/94233
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 467b922eedf..cd34d6c9e7a 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -561,11 +561,9 @@ offload_handle_link_vars (void)
 			  DECL_ATTRIBUTES (var->decl)))
       {
 	tree type = build_pointer_type (TREE_TYPE (var->decl));
-	tree var_name = DECL_ASSEMBLER_NAME (var->decl);
-	char *new_name
-	  = ACONCAT ((IDENTIFIER_POINTER (var_name), "_linkptr", NULL));
 	tree link_ptr_var = build_decl (UNKNOWN_LOCATION, VAR_DECL,
-					get_identifier (new_name), type);
+					clone_function_name (var->decl,
+							     "linkptr"), type);
 	TREE_USED (link_ptr_var) = 1;
 	TREE_STATIC (link_ptr_var) = 1;
 	DECL_ARTIFICIAL (link_ptr_var) = 1;


More information about the Gcc-cvs mailing list