re PR target/48637 (%c in ARM inline asm leads to ICE (in arm_print_operand))

PR target/48637
	* arm.c (arm_print_operand): Allow sym+offset.  Don't abort on invalid
	asm operands.

From-SVN: r175565
This commit is contained in:
Richard Earnshaw 2011-06-27 21:09:25 +00:00 committed by Richard Earnshaw
parent dbb7247b9a
commit a1b5eb9382
2 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2011-06-27 Richard Earnshaw <rearnsha@arm.com>
PR target/48637
* arm.c (arm_print_operand): Allow sym+offset. Don't abort on invalid
asm operands.
2011-06-27 Jan Hubicka <jh@suse.cz>
* ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of node

View File

@ -16242,8 +16242,17 @@ arm_print_operand (FILE *stream, rtx x, int code)
output_addr_const (stream, x);
break;
case CONST:
if (GET_CODE (XEXP (x, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (x, 0), 0)) == SYMBOL_REF)
{
output_addr_const (stream, x);
break;
}
/* Fall through. */
default:
gcc_unreachable ();
output_operand_lossage ("Unsupported operand for code '%c'", code);
}
return;