tree.c (build_int_cst): Properly create canonicalized integer constants.
2011-04-22 Richard Guenther <rguenther@suse.de> * tree.c (build_int_cst): Properly create canonicalized integer constants. (build_int_cst_type): Remove scary comments. From-SVN: r172871
This commit is contained in:
parent
ae01169c69
commit
1df5b0db1c
2 changed files with 9 additions and 10 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-04-22 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree.c (build_int_cst): Properly create canonicalized integer
|
||||
constants.
|
||||
(build_int_cst_type): Remove scary comments.
|
||||
|
||||
2011-04-22 Xinliang David Li <davidxl@google.com>
|
||||
|
||||
* toplev.c (process_options): Enable -Werror=coverage-mismatch
|
||||
|
|
13
gcc/tree.c
13
gcc/tree.c
|
@ -1004,7 +1004,7 @@ copy_list (tree list)
|
|||
}
|
||||
|
||||
|
||||
/* Create an INT_CST node with a LOW value sign extended. */
|
||||
/* Create an INT_CST node with a LOW value sign extended to TYPE. */
|
||||
|
||||
tree
|
||||
build_int_cst (tree type, HOST_WIDE_INT low)
|
||||
|
@ -1013,17 +1013,10 @@ build_int_cst (tree type, HOST_WIDE_INT low)
|
|||
if (!type)
|
||||
type = integer_type_node;
|
||||
|
||||
return build_int_cst_wide (type, low, low < 0 ? -1 : 0);
|
||||
return double_int_to_tree (type, shwi_to_double_int (low));
|
||||
}
|
||||
|
||||
/* Create an INT_CST node with a LOW value in TYPE. The value is sign extended
|
||||
if it is negative. This function is similar to build_int_cst, but
|
||||
the extra bits outside of the type precision are cleared. Constants
|
||||
with these extra bits may confuse the fold so that it detects overflows
|
||||
even in cases when they do not occur, and in general should be avoided.
|
||||
We cannot however make this a default behavior of build_int_cst without
|
||||
more intrusive changes, since there are parts of gcc that rely on the extra
|
||||
precision of the integer constants. */
|
||||
/* Create an INT_CST node with a LOW value sign extended to TYPE. */
|
||||
|
||||
tree
|
||||
build_int_cst_type (tree type, HOST_WIDE_INT low)
|
||||
|
|
Loading…
Add table
Reference in a new issue