aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-05-09 05:15:50 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-05-09 05:15:50 +0000
commit4bbcb8fcd4e2627b062cb46083da89f919ae799e (patch)
tree245cc8a9f17f8534b5a32132959495818cef308f /gcc/stmt.c
parent65ab381cbf67c1fa0a30499ce03a4cfc4e82234c (diff)
downloadgcc-4bbcb8fcd4e2627b062cb46083da89f919ae799e.zip
gcc-4bbcb8fcd4e2627b062cb46083da89f919ae799e.tar.gz
gcc-4bbcb8fcd4e2627b062cb46083da89f919ae799e.tar.bz2
re PR inline-asm/8788 (ICE in emit_move_insn, at expr.c:3089)
PR inline-asm/8788 * stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode operands. * gcc.dg/pr8788-1.c: New testcase. From-SVN: r99422
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 94b018a..d1e71de 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -877,7 +877,7 @@ expand_asm_operands (tree string, tree outputs, tree inputs,
if (asm_operand_ok (op, constraint) <= 0)
{
- if (allows_reg)
+ if (allows_reg && TYPE_MODE (type) != BLKmode)
op = force_reg (TYPE_MODE (type), op);
else if (!allows_mem)
warning (0, "asm operand %d probably doesn%'t match constraints",