c-typeck.c (null_pointer_constant_p): Replace use of TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
* c-typeck.c (null_pointer_constant_p): Replace use of TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW. (build_c_cast): Likewise. From-SVN: r120747
This commit is contained in:
parent
d95787e646
commit
8bcd6380d1
2 changed files with 16 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-01-12 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* c-typeck.c (null_pointer_constant_p): Replace use of
|
||||
TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
|
||||
(build_c_cast): Likewise.
|
||||
|
||||
2007-01-12 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* tree.h (force_fit_type_double): Remove unused final argument.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Build expressions with type checking for C compiler.
|
||||
Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
@ -117,7 +117,7 @@ null_pointer_constant_p (tree expr)
|
|||
yet available everywhere required. */
|
||||
tree type = TREE_TYPE (expr);
|
||||
return (TREE_CODE (expr) == INTEGER_CST
|
||||
&& !TREE_CONSTANT_OVERFLOW (expr)
|
||||
&& !TREE_OVERFLOW (expr)
|
||||
&& integer_zerop (expr)
|
||||
&& (INTEGRAL_TYPE_P (type)
|
||||
|| (TREE_CODE (type) == POINTER_TYPE
|
||||
|
@ -3588,15 +3588,16 @@ build_c_cast (tree type, tree expr)
|
|||
/* Ignore any integer overflow caused by the cast. */
|
||||
if (TREE_CODE (value) == INTEGER_CST)
|
||||
{
|
||||
if (CONSTANT_CLASS_P (ovalue)
|
||||
&& (TREE_OVERFLOW (ovalue) || TREE_CONSTANT_OVERFLOW (ovalue)))
|
||||
if (CONSTANT_CLASS_P (ovalue) && TREE_OVERFLOW (ovalue))
|
||||
{
|
||||
/* Avoid clobbering a shared constant. */
|
||||
value = copy_node (value);
|
||||
TREE_OVERFLOW (value) = TREE_OVERFLOW (ovalue);
|
||||
TREE_CONSTANT_OVERFLOW (value) = TREE_CONSTANT_OVERFLOW (ovalue);
|
||||
if (!TREE_OVERFLOW (value))
|
||||
{
|
||||
/* Avoid clobbering a shared constant. */
|
||||
value = copy_node (value);
|
||||
TREE_OVERFLOW (value) = TREE_OVERFLOW (ovalue);
|
||||
}
|
||||
}
|
||||
else if (TREE_OVERFLOW (value) || TREE_CONSTANT_OVERFLOW (value))
|
||||
else if (TREE_OVERFLOW (value))
|
||||
/* Reset VALUE's overflow flags, ensuring constant sharing. */
|
||||
value = build_int_cst_wide (TREE_TYPE (value),
|
||||
TREE_INT_CST_LOW (value),
|
||||
|
|
Loading…
Add table
Reference in a new issue