aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2006-10-11 14:03:37 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2006-10-11 14:03:37 +0000
commitba38541ad25b14adf226bc6edf0bd0ee152daca7 (patch)
tree23259a5430b0300cd752b0edcf21ba04cc502e5e /gcc
parent7de856fca175ec46a6cd399c30ffe50e24f52091 (diff)
downloadgcc-ba38541ad25b14adf226bc6edf0bd0ee152daca7.zip
gcc-ba38541ad25b14adf226bc6edf0bd0ee152daca7.tar.gz
gcc-ba38541ad25b14adf226bc6edf0bd0ee152daca7.tar.bz2
re PR inline-asm/29119 (Internal compiler error while adding __asm__ statement)
2006-10-11 Richard Guenther <rguenther@suse.de> PR inline-asm/29119 * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue addressable. * gcc.dg/torture/pr29119.c: New testcase. From-SVN: r117633
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gimplify.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr29119.c7
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8977c39..8eca250 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR inline-asm/29119
+ * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
+ addressable.
+
2006-10-10 Brooks Moses <bmoses@stanford.edu>
* configure.ac: Added pdf to "Make-hooks"
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 1a88c60..ab11a83 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -4036,9 +4036,9 @@ gimplify_asm_expr (tree *expr_p, tree *pre_p, tree *post_p)
/* If the operand is a memory input, it should be an lvalue. */
if (!allows_reg && allows_mem)
{
- lang_hooks.mark_addressable (TREE_VALUE (link));
tret = gimplify_expr (&TREE_VALUE (link), pre_p, post_p,
is_gimple_lvalue, fb_lvalue | fb_mayfail);
+ lang_hooks.mark_addressable (TREE_VALUE (link));
if (tret == GS_ERROR)
{
error ("memory input %d is not directly addressable", i);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6cbfd6c..c9b7c54 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR inline-asm/29119
+ * gcc.dg/torture/pr29119.c: New testcase.
+
2006-10-10 Jakub Jelinek <jakub@redhat.com>
PR middle-end/29272
diff --git a/gcc/testsuite/gcc.dg/torture/pr29119.c b/gcc/testsuite/gcc.dg/torture/pr29119.c
new file mode 100644
index 0000000..63e5d86
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr29119.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+
+void ldt_add_entry(void)
+{
+ __asm__ ("" :: "m"(({unsigned __v; __v;})));
+}
+