aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/f95-lang.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-12-10 01:14:38 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-12-10 01:14:38 +0000
commit1f39323fd33d37f686399ea596d98f87b784f164 (patch)
tree4f64ac85a76b8f914ad6a9c45baad925cfc39a07 /gcc/fortran/f95-lang.c
parent98bfa2fb8363218653eae38c90c6097b2bc7ce6b (diff)
downloadgcc-1f39323fd33d37f686399ea596d98f87b784f164.zip
gcc-1f39323fd33d37f686399ea596d98f87b784f164.tar.gz
gcc-1f39323fd33d37f686399ea596d98f87b784f164.tar.bz2
re PR fortran/22527 (fortran produces mismatch types in comparision with integer to logic assignment)
PR fortran/22527 * f95-lang.c (gfc_truthvalue_conversion): Use a zero of the correct integer type when building an inequality. From-SVN: r108341
Diffstat (limited to 'gcc/fortran/f95-lang.c')
-rw-r--r--gcc/fortran/f95-lang.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/f95-lang.c b/gcc/fortran/f95-lang.c
index 1ddad87..a5d1161 100644
--- a/gcc/fortran/f95-lang.c
+++ b/gcc/fortran/f95-lang.c
@@ -257,7 +257,8 @@ gfc_truthvalue_conversion (tree expr)
if (TREE_CODE (expr) == INTEGER_CST)
return integer_zerop (expr) ? boolean_false_node : boolean_true_node;
else
- return build2 (NE_EXPR, boolean_type_node, expr, integer_zero_node);
+ return build2 (NE_EXPR, boolean_type_node, expr,
+ build_int_cst (TREE_TYPE (expr), 0));
default:
internal_error ("Unexpected type in truthvalue_conversion");