Commit b839fb3f by Richard Kenner

(truthvalue_conversion): A complex value is nonzero if either part is

nonzero, not if both parts are nonzero.

From-SVN: r5259
parent 25a1019f
/* Subroutines shared by all languages that are variants of C. /* Subroutines shared by all languages that are variants of C.
Copyright (C) 1992 Free Software Foundation, Inc. Copyright (C) 1992, 1993 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
...@@ -1026,7 +1026,7 @@ truthvalue_conversion (expr) ...@@ -1026,7 +1026,7 @@ truthvalue_conversion (expr)
case COMPLEX_EXPR: case COMPLEX_EXPR:
return build_binary_op ((TREE_SIDE_EFFECTS (TREE_OPERAND (expr, 1)) return build_binary_op ((TREE_SIDE_EFFECTS (TREE_OPERAND (expr, 1))
? TRUTH_AND_EXPR : TRUTH_ANDIF_EXPR), ? TRUTH_OR_EXPR : TRUTH_ORIF_EXPR),
truthvalue_conversion (TREE_OPERAND (expr, 0)), truthvalue_conversion (TREE_OPERAND (expr, 0)),
truthvalue_conversion (TREE_OPERAND (expr, 1)), truthvalue_conversion (TREE_OPERAND (expr, 1)),
0); 0);
...@@ -1096,7 +1096,7 @@ truthvalue_conversion (expr) ...@@ -1096,7 +1096,7 @@ truthvalue_conversion (expr)
if (TREE_CODE (TREE_TYPE (expr)) == COMPLEX_TYPE) if (TREE_CODE (TREE_TYPE (expr)) == COMPLEX_TYPE)
return (build_binary_op return (build_binary_op
((TREE_SIDE_EFFECTS (expr) ((TREE_SIDE_EFFECTS (expr)
? TRUTH_AND_EXPR : TRUTH_ANDIF_EXPR), ? TRUTH_OR_EXPR : TRUTH_ORIF_EXPR),
truthvalue_conversion (build_unary_op (REALPART_EXPR, expr, 0)), truthvalue_conversion (build_unary_op (REALPART_EXPR, expr, 0)),
truthvalue_conversion (build_unary_op (IMAGPART_EXPR, expr, 0)), truthvalue_conversion (build_unary_op (IMAGPART_EXPR, expr, 0)),
0)); 0));
......
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