Commit a862775d by Paolo Bonzini Committed by H.J. Lu

re PR middle-end/39701 (Revision 145846 caused many test failures)

2009-04-10  Paolo Bonzini  <bonzini@gnu.org>

	PR middle-end/39701
	* trans.c (gfc_allocate_with_status): Fix type mismatches
	on "pstat == 0".

From-SVN: r145930
parent 4d35e75c
2009-04-10 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/39701
* trans.c (gfc_allocate_with_status): Fix type mismatches
on "pstat == 0".
2009-04-10 Daniel Franke <franke.daniel@gmail.com>
PR fortran/38709
......
......@@ -605,8 +605,8 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status)
fold_build1 (INDIRECT_REF, status_type, status),
build_int_cst (status_type, 0));
tmp = fold_build3 (COND_EXPR, void_type_node,
fold_build2 (NE_EXPR, boolean_type_node,
status, build_int_cst (status_type, 0)),
fold_build2 (NE_EXPR, boolean_type_node, status,
build_int_cst (TREE_TYPE (status), 0)),
tmp, build_empty_stmt ());
gfc_add_expr_to_block (block, tmp);
}
......@@ -630,7 +630,7 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status)
build_int_cst (pvoid_type_node, 0));
tmp = fold_build2 (EQ_EXPR, boolean_type_node, status,
build_int_cst (status_type, 0));
build_int_cst (TREE_TYPE (status), 0));
error = fold_build3 (COND_EXPR, void_type_node, tmp, error,
gfc_finish_block (&set_status_block));
}
......@@ -653,7 +653,7 @@ gfc_allocate_with_status (stmtblock_t * block, tree size, tree status)
tree tmp2;
cond = fold_build2 (EQ_EXPR, boolean_type_node, status,
build_int_cst (status_type, 0));
build_int_cst (TREE_TYPE (status), 0));
tmp2 = fold_build2 (MODIFY_EXPR, status_type,
fold_build1 (INDIRECT_REF, status_type, status),
build_int_cst (status_type, LIBERROR_ALLOCATION));
......
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