re PR target/61336 (ICE on alpha: in print_operand_address, at config/alpha/alpha.c:5454)
PR target/61336 * config/alpha/alpha.c (print_operand_address): Allow symbolic addresses inside asms. Use output_operand_lossage instead of gcc_unreachable. From-SVN: r211139
This commit is contained in:
parent
315eb4bb08
commit
20a951e6b7
@ -1,3 +1,10 @@
|
||||
2014-06-02 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR target/61336
|
||||
* config/alpha/alpha.c (print_operand_address): Allow symbolic
|
||||
addresses inside asms. Use output_operand_lossage instead of
|
||||
gcc_unreachable.
|
||||
|
||||
2014-06-02 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR target/61239
|
||||
|
@ -5450,12 +5450,13 @@ print_operand_address (FILE *file, rtx addr)
|
||||
offset = INTVAL (addr);
|
||||
break;
|
||||
|
||||
#if TARGET_ABI_OPEN_VMS
|
||||
case SYMBOL_REF:
|
||||
gcc_assert(TARGET_ABI_OPEN_VMS || this_is_asm_operands);
|
||||
fprintf (file, "%s", XSTR (addr, 0));
|
||||
return;
|
||||
|
||||
case CONST:
|
||||
gcc_assert(TARGET_ABI_OPEN_VMS || this_is_asm_operands);
|
||||
gcc_assert (GET_CODE (XEXP (addr, 0)) == PLUS
|
||||
&& GET_CODE (XEXP (XEXP (addr, 0), 0)) == SYMBOL_REF);
|
||||
fprintf (file, "%s+" HOST_WIDE_INT_PRINT_DEC,
|
||||
@ -5463,9 +5464,9 @@ print_operand_address (FILE *file, rtx addr)
|
||||
INTVAL (XEXP (XEXP (addr, 0), 1)));
|
||||
return;
|
||||
|
||||
#endif
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
output_operand_lossage ("invalid operand address");
|
||||
return;
|
||||
}
|
||||
|
||||
fprintf (file, HOST_WIDE_INT_PRINT_DEC "($%d)", offset, basereg);
|
||||
|
Loading…
x
Reference in New Issue
Block a user