--- /dev/null
+This fixes PR21419 by checking that read-only expressions are not given
+as outputs for an asm statement. The gimplifier was already performed
+consistency tests on asm statements, so this looked like a good place to
+make this check.
+
+--- gcc/gcc/gimplify.c 14 Sep 2005 06:59:10 -0000
++++ gcc/gcc/gimplify.c 25 Sep 2005 12:32:41 -0000
+@@ -3543,6 +3543,12 @@ gimplify_asm_expr (tree *expr_p, tree *p
+ parse_output_constraint (&constraint, i, 0, 0,
+ &allows_mem, &allows_reg, &is_inout);
+
++ if (TYPE_READONLY (TREE_TYPE (TREE_VALUE (link))))
++ {
++ error ("invalid lvalue in asm output %d", i);
++ ret = GS_ERROR;
++ }
++
+ if (!allows_reg && allows_mem)
+ lang_hooks.mark_addressable (TREE_VALUE (link));
+