aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-intrinsic.c2
-rw-r--r--gcc/tree-vrp.c3
4 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43420dd..5e66ff6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2008-09-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (simplify_truth_ops_using_ranges): Fix types.
+
2008-09-12 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/37424
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 954d5cd..796d36d 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2008-09-12 Richard Guenther <rguenther@suse.de>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Use
+ build_fold_addr_expr to properly mark the argument
+ addressable.
+
2008-09-11 Daniel Kraft <d@domob.eu>
PR fortran/36214
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index aa5ee45..f5f9922 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -3718,7 +3718,7 @@ gfc_conv_intrinsic_transfer (gfc_se * se, gfc_expr * expr)
moldsize = size_in_bytes (type);
/* Use memcpy to do the transfer. */
- tmp = fold_build1 (ADDR_EXPR, build_pointer_type (type), tmpdecl);
+ tmp = build_fold_addr_expr (tmpdecl);
tmp = build_call_expr (built_in_decls[BUILT_IN_MEMCPY], 3,
fold_convert (pvoid_type_node, tmp),
fold_convert (pvoid_type_node, ptr),
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index fffa224..31d7f10 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -6319,9 +6319,8 @@ simplify_truth_ops_using_ranges (gimple_stmt_iterator *gsi, gimple stmt)
if (rhs_code == TRUTH_NOT_EXPR)
{
rhs_code = NE_EXPR;
- op1 = integer_one_node;
+ op1 = build_int_cst (TREE_TYPE (op0), 1);
}
-
else
{
op1 = gimple_assign_rhs2 (stmt);