Commit a1b5eb93 by Richard Earnshaw Committed by Richard Earnshaw

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
parent dbb7247b
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> 2011-06-27 Jan Hubicka <jh@suse.cz>
* ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of node * ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of node
......
...@@ -16242,8 +16242,17 @@ arm_print_operand (FILE *stream, rtx x, int code) ...@@ -16242,8 +16242,17 @@ arm_print_operand (FILE *stream, rtx x, int code)
output_addr_const (stream, x); output_addr_const (stream, x);
break; 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: default:
gcc_unreachable (); output_operand_lossage ("Unsupported operand for code '%c'", code);
} }
return; return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment