As discussed in IRC, it makes sense to use '$' or '.' as separator instead of '_' – and, if it is not available, use a '__' prefix besides the '_' suffix separator.
OK? Tobias ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
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 --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;