re PR java/5489 (-fverbose-asm crashes jc1 on ARM cross-compiler)
authorRichard Earnshaw <rearnsha@arm.com>
Sat, 23 Mar 2002 18:18:43 +0000 (18:18 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Sat, 23 Mar 2002 18:18:43 +0000 (18:18 +0000)
PR java/5489
* arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
operand argument to output_return_instruction.
* arm.c (arm_print_operand, case 'd'): If the operand is
const_true_rtx then just return.
(arm_print_operand, case 'D'): If the operand is const_true_rtx
then abort.

From-SVN: r51241

gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/arm/arm.md

index 123ec2760111f1b70028f10ee0e22039fb8b4905..180ff01007198dba3a9435ab22f1e06efa1976dc 100644 (file)
@@ -1,3 +1,13 @@
+2002-03-23  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR java/5489
+       * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
+       operand argument to output_return_instruction.
+       * arm.c (arm_print_operand, case 'd'): If the operand is 
+       const_true_rtx then just return.
+       (arm_print_operand, case 'D'): If the operand is const_true_rtx
+       then abort.
+
 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
 
        * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
index 814c84d9888d4b2fafd60e694dab14b7c4dc0693..53633dcbdfff9fdcdf23e54394d6c312949963c7 100644 (file)
@@ -8568,7 +8568,8 @@ arm_print_operand (stream, x, code)
       return;
 
     case 'd':
-      if (!x)
+      /* CONST_TRUE_RTX means always -- that's the default.  */
+      if (x == const_true_rtx)
        return;
       
       if (TARGET_ARM)
@@ -8579,8 +8580,10 @@ arm_print_operand (stream, x, code)
       return;
 
     case 'D':
-      if (!x)
-       return;
+      /* CONST_TRUE_RTX means not always -- ie never.  We shouldn't ever
+        want to do that.  */
+      if (x == const_true_rtx)
+       abort ();
 
       if (TARGET_ARM)
        fputs (arm_condition_codes[ARM_INVERSE_CONDITION_CODE
index 9ea7d0c8a06d21beb208f5fcc4e624effad42444..7d73cbd3b9ada3753cff5e70f66727febe0fc329 100644 (file)
         arm_ccfsm_state += 2;
         return \"\";
       }
-    return output_return_instruction (NULL, TRUE, FALSE);
+    return output_return_instruction (const_true_rtx, TRUE, FALSE);
   }"
   [(set_attr "type" "load")
    (set_attr "predicable" "yes")]
   "*
   output_asm_insn (\"%@ Sibcall epilogue\", operands);
   if (USE_RETURN_INSN (FALSE))
-    return output_return_instruction (NULL, FALSE, FALSE);
+    return output_return_instruction (const_true_rtx, FALSE, FALSE);
   return arm_output_epilogue (FALSE);
   "
 ;; Length is absolute worst case