Commit 8b628e86 by Eric Botcazou Committed by Eric Botcazou

fold-const (fold_unary_loc): New case.

	* fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
	<CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.

From-SVN: r210518
parent 53caffbe
2014-05-16 Eric Botcazou <ebotcazou@adacore.com>
* fold-const (fold_unary_loc) <NON_LVALUE_EXPR>: New case.
<CASE_CONVERT>: Pass arg0 instead of op0 to fold_convert_const.
2014-05-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/61194
......
......@@ -7850,6 +7850,11 @@ fold_unary_loc (location_t loc, enum tree_code code, tree type, tree op0)
return fold_convert_loc (loc, type, op0);
return NULL_TREE;
case NON_LVALUE_EXPR:
if (!maybe_lvalue_p (op0))
return fold_convert_loc (loc, type, op0);
return NULL_TREE;
CASE_CONVERT:
case FLOAT_EXPR:
case FIX_TRUNC_EXPR:
......@@ -8113,7 +8118,7 @@ fold_unary_loc (location_t loc, enum tree_code code, tree type, tree op0)
}
}
tem = fold_convert_const (code, type, op0);
tem = fold_convert_const (code, type, arg0);
return tem ? tem : NULL_TREE;
case ADDR_SPACE_CONVERT_EXPR:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment