summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/c-convert.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/c-convert.c')
-rw-r--r--contrib/gcc/c-convert.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/contrib/gcc/c-convert.c b/contrib/gcc/c-convert.c
index 947c79b..3634bbe 100644
--- a/contrib/gcc/c-convert.c
+++ b/contrib/gcc/c-convert.c
@@ -1,5 +1,5 @@
/* Language-level data type conversion for GNU C.
- Copyright (C) 1987, 1988, 1991, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1991, 1998, 2002 Free Software Foundation, Inc.
This file is part of GCC.
@@ -29,6 +29,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "tree.h"
#include "flags.h"
#include "convert.h"
+#include "c-common.h"
#include "toplev.h"
/* Change of width--truncation and extension of integers or reals--
@@ -42,7 +43,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
Here is a list of all the functions that assume that widening and
narrowing is always done with a NOP_EXPR:
In convert.c, convert_to_integer.
- In c-typeck.c, build_binary_op (boolean ops), and truthvalue_conversion.
+ In c-typeck.c, build_binary_op (boolean ops), and
+ c_common_truthvalue_conversion.
In expr.c: expand_expr, for operands of a MULT_EXPR.
In fold-const.c: fold.
In tree.c: get_narrower and get_unwidened. */
@@ -90,9 +92,9 @@ convert (type, expr)
return fold (convert_to_integer (type, e));
if (code == BOOLEAN_TYPE)
{
- tree t = truthvalue_conversion (expr);
- /* If truthvalue_conversion returns a NOP_EXPR, we must fold it here
- to avoid infinite recursion between fold () and convert (). */
+ tree t = c_common_truthvalue_conversion (expr);
+ /* If it returns a NOP_EXPR, we must fold it here to avoid
+ infinite recursion between fold () and convert (). */
if (TREE_CODE (t) == NOP_EXPR)
return fold (build1 (NOP_EXPR, type, TREE_OPERAND (t, 0)));
else
OpenPOWER on IntegriCloud