[ARC] Fix warning in arc_return_address_register.
authorClaudiu Zissulescu <claziss@synopsys.com>
Fri, 15 Jun 2018 11:22:10 +0000 (13:22 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Fri, 15 Jun 2018 11:22:10 +0000 (13:22 +0200)
The if condition in arc_return_address_register which selects the arc
return address is not correct. The issue is signalized in bugzilla 85968.

gcc/
2018-06-15  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_return_address_register): Fix if-condition.

From-SVN: r261623

gcc/ChangeLog
gcc/config/arc/arc.c

index 361c6e3a86e89fefba88dfa6abdb291f1d5e20b5..8f0819a07e7dc8b319a6b51025690be2b46f7fc9 100644 (file)
@@ -1,3 +1,9 @@
+2018-06-15  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       PR target/85968
+       * config/arc/arc.c (arc_return_address_register): Fix
+       if-condition.
+
 2018-06-15  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/86159
index 477500cd0b29cb6030e128c4870ca691579fc299..4d4d248abf5c2f2fbc501760bd6825bd1ec3b9f0 100644 (file)
@@ -9818,7 +9818,7 @@ arc_return_address_register (unsigned int fn_type)
 
   if (ARC_INTERRUPT_P (fn_type))
     {
-      if (((fn_type & ARC_FUNCTION_ILINK1) | ARC_FUNCTION_FIRQ) != 0)
+      if ((fn_type & (ARC_FUNCTION_ILINK1 | ARC_FUNCTION_FIRQ)) != 0)
         regno = ILINK1_REGNUM;
       else if ((fn_type & ARC_FUNCTION_ILINK2) != 0)
         regno = ILINK2_REGNUM;