diff --git a/gcc/cfgexpand.cc b/gcc/cfgexpand.cc index 4f99f0404504976ad57f065719cb0ab83ddd8539..d3cc77d2ca98f620b29623fc5696410bad9bc184 100644 --- a/gcc/cfgexpand.cc +++ b/gcc/cfgexpand.cc @@ -3290,7 +3290,10 @@ expand_asm_stmt (gasm *stmt) generating_concat_p = 0; - if ((TREE_CODE (val) == INDIRECT_REF && allows_mem) + gcc_assert (TREE_CODE (val) != INDIRECT_REF); + if (((TREE_CODE (val) == MEM_REF + && TREE_CODE (TREE_OPERAND (val, 0)) != ADDR_EXPR) + && allows_mem) || (DECL_P (val) && (allows_mem || REG_P (DECL_RTL (val))) && ! (REG_P (DECL_RTL (val))