diff options
author | Richard Guenther <rguenther@suse.de> | 2007-01-08 18:29:18 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-01-08 18:29:18 +0000 |
commit | 7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372 (patch) | |
tree | 39d3113999a59bc49ff73a06408842ee861973fd /gcc/builtins.c | |
parent | 738a52d3e27cc81e337c3f57e845adc0dd666eaa (diff) | |
download | gcc-7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372.zip gcc-7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372.tar.gz gcc-7fb41a42a9490e41b03fe1bcfe0d3903fd8c0372.tar.bz2 |
tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type of offset to build the index.
2007-01-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type
of offset to build the index.
* tree-pretty-print.c (dump_generic_node): Don't build negated
const just for printing.
* c-pretty-print.c (pp_c_integer_constant): Likewise.
* builtins.c (fold_builtin_int_roundingfn): Check if result
fits the type by using force_fit_type and comparing the result.
* predict.c (predict_loops): Use compare_tree_int for comparison.
* tree.c (build_int_cst): Fall back to integer_type_node for
NULL_TREE type.
(build_int_cst_wide): Assert type is non-null.
fortran/
* trans-io.c (transfer_array_desc): Use build_int_cst instead
of build_int_cstu.
From-SVN: r120586
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 6f79b29..e97e3bb 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -7602,9 +7602,11 @@ fold_builtin_int_roundingfn (tree fndecl, tree arglist) } REAL_VALUE_TO_INT (&lo, &hi, r); - result = build_int_cst_wide (NULL_TREE, lo, hi); - if (int_fits_type_p (result, itype)) - return fold_convert (itype, result); + result = build_int_cst_wide (itype, lo, hi); + result = force_fit_type (result, 0, false, false); + if (TREE_INT_CST_LOW (result) == lo + && TREE_INT_CST_HIGH (result) == hi) + return result; } } |