middle-end/97162 - fix ICE when building gamess
authorRichard Biener <rguenther@suse.de>
Wed, 23 Sep 2020 08:07:37 +0000 (10:07 +0200)
committerRichard Biener <rguenther@suse.de>
Wed, 23 Sep 2020 08:09:40 +0000 (10:09 +0200)
This appropriately guards the check for a hard register in
compare_base_decls which otherwise ICEs when passed a CONST_DECL.

2020-09-23  Richard Biener  <rguenther@suse.de>

PR middle-end/97162
* alias.c (compare_base_decls): Use DECL_HARD_REGISTER
and guard with VAR_P.

gcc/alias.c

index 1cb702be2ce3bc3a7c565b313bcd08217f11f761..f6d7a1791c46a92ea1e8c9a211ef5bf36139f5de 100644 (file)
@@ -2142,10 +2142,10 @@ compare_base_decls (tree base1, tree base2)
 
   /* If we have two register decls with register specification we
      cannot decide unless their assembler names are the same.  */
-  if (DECL_REGISTER (base1)
-      && DECL_REGISTER (base2)
-      && HAS_DECL_ASSEMBLER_NAME_P (base1)
-      && HAS_DECL_ASSEMBLER_NAME_P (base2)
+  if (VAR_P (base1)
+      && VAR_P (base2)
+      && DECL_HARD_REGISTER (base1)
+      && DECL_HARD_REGISTER (base2)
       && DECL_ASSEMBLER_NAME_SET_P (base1)
       && DECL_ASSEMBLER_NAME_SET_P (base2))
     {