http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49123
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.6.1 |---
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-05-23
13:36:00 UTC ---
(In reply to comment #4)
> A less intrusive variant of the patch might be suitable for backporting
> (it doesn't touch the NULL type argument path) and fixes the testcase for me.
>
> Index: gcc/tree.c
> ===================================================================
> --- gcc/tree.c (revision 174066)
> +++ gcc/tree.c (working copy)
> @@ -1034,9 +1034,9 @@ build_int_cst (tree type, HOST_WIDE_INT
> {
> /* Support legacy code. */
> if (!type)
> - type = integer_type_node;
> + return build_int_cst_wide (integer_type_node, low, low < 0 ? -1 : 0);
>
> - 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
Alternatively you could call build_int_cst_type instead of build_int_cst in the
spot where FRE? calls it. Guess that would be even safer to backport.