SOURCES: gcc-pr21419.patch (NEW) - reject writting to const via asm.

pluto pluto at pld-linux.org
Sun Sep 25 14:50:47 CEST 2005


Author: pluto                        Date: Sun Sep 25 12:50:47 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- reject writting to const via asm.

---- Files affected:
SOURCES:
   gcc-pr21419.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/gcc-pr21419.patch
diff -u /dev/null SOURCES/gcc-pr21419.patch:1.1
--- /dev/null	Sun Sep 25 14:50:47 2005
+++ SOURCES/gcc-pr21419.patch	Sun Sep 25 14:50:42 2005
@@ -0,0 +1,20 @@
+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));
+ 
================================================================



More information about the pld-cvs-commit mailing list