aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2005-10-05 12:17:16 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2005-10-05 12:17:16 +0000
commit5544530ae53f6a1063641ae448bc9cd62c8f6ee7 (patch)
tree56889bd0e587b4c391a24d46c92ac8f2af4f0978 /gcc/gimplify.c
parentc82cdb5dfc2b9e85dbe577e32d73dc8fd6062afe (diff)
downloadgcc-5544530ae53f6a1063641ae448bc9cd62c8f6ee7.zip
gcc-5544530ae53f6a1063641ae448bc9cd62c8f6ee7.tar.gz
gcc-5544530ae53f6a1063641ae448bc9cd62c8f6ee7.tar.bz2
re PR c/21419 (Accepts writting to const via asm)
2005-10-05 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/21419 PR tree-optimization/24146 PR tree-optimization/24151 * c-typeck.c (readonly_error): Handle USE being lv_asm. (build_asm_expr): Call it if outputs are read-only. * gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419. cp: 2005-10-05 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/21419 PR tree-optimization/24146 PR tree-optimization/24151 * semantics.c (finish_asm_stmt): Call readonly_error if outputs are read-only. Set ASM_VOLATILE_P for asms without outputs. testsuite: 2005-10-05 Paolo Bonzini <bonzini@gnu.org> PR tree-optimization/21419 PR tree-optimization/24146 PR tree-optimization/24151 * g++.dg/ext/asm7.C: New. * g++.dg/ext/asm8.C: New. * gcc.dg/asm-1.c: Compile on all targets. * gcc.dg/asm-pr24146.c: New. * gcc.dg/pr21419.c: Adjust error messages. From-SVN: r104988
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 7047918..52012eb 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -3604,12 +3604,6 @@ gimplify_asm_expr (tree *expr_p, tree *pre_p, tree *post_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));