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
This commit is contained in:
Richard Guenther 2006-10-11 14:03:37 +00:00 committed by Richard Biener
parent 7de856fca1
commit ba38541ad2
4 changed files with 19 additions and 1 deletions

View File

@ -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"

View File

@ -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);

View File

@ -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

View File

@ -0,0 +1,7 @@
/* { dg-do compile } */
void ldt_add_entry(void)
{
__asm__ ("" :: "m"(({unsigned __v; __v;})));
}