fold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of VIEW_CONVERT_EXPR.

* fold-const.c (build_fold_addr_expr_with_type): Take the address of
	the operand of VIEW_CONVERT_EXPR.

From-SVN: r147739
This commit is contained in:
Eric Botcazou 2009-05-20 16:01:41 +00:00 committed by Eric Botcazou
parent 37c5043589
commit d98e868633
2 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2009-05-20 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (build_fold_addr_expr_with_type): Take the address of
the operand of VIEW_CONVERT_EXPR.
2009-05-20 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/driver-i386.c (host_detect_local_cpu): Check

View File

@ -7999,6 +7999,13 @@ build_fold_addr_expr_with_type (tree t, tree ptrtype)
if (TREE_TYPE (t) != ptrtype)
t = build1 (NOP_EXPR, ptrtype, t);
}
else if (TREE_CODE (t) == VIEW_CONVERT_EXPR)
{
t = build_fold_addr_expr (TREE_OPERAND (t, 0));
if (TREE_TYPE (t) != ptrtype)
t = fold_convert (ptrtype, t);
}
else
t = build1 (ADDR_EXPR, ptrtype, t);