Fix wrong asm name output

When compiling in parallel, static variables may have its name changed
to avoid clashes with other symbols, however, a bug prevented that some
symbols got renamed in this process. This commit fix this.

Authored-by: Richard Biener <rguenther@suse.de>

gcc/ChangeLog
2020-08-06  Giuliano Belinasssi <giuliano.belinassi@usp.br>

	* symtab.c (change_decl_assembler_name): Remove RTL output if
	assember name is changed afterward.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2d32f7f..2887adc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2020-08-06  Giuliano Belinasssi <giuliano.belinassi@usp.br>
+
+	* symtab.c (change_decl_assembler_name): Remove RTL output if
+	assember name is changed afterward.
+
 2020-07-31  Giuliano Belinassi  <giuliano.belinassi@usp.br>
 
 	* Makefile.in: Use `+' on rule calling GCC
diff --git a/gcc/symtab.c b/gcc/symtab.c
index f56dd69..e1556fb 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -297,9 +297,13 @@
 	unlink_from_assembler_name_hash (node, true);
 
       const char *old_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
-      if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))
-	  && DECL_RTL_SET_P (decl))
-	warning (0, "%qD renamed after being referenced in assembly", decl);
+      if (DECL_RTL_SET_P (decl))
+	{
+	  if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))
+	      && DECL_RTL_SET_P (decl))
+	    warning (0, "%qD renamed after being referenced in assembly", decl);
+	  SET_DECL_RTL (decl, NULL);
+	}
 
       SET_DECL_ASSEMBLER_NAME (decl, name);
       if (alias)