stor-layout.c (initialize_sizetypes): Properly sign-extend bitsiztype TYPE_MAX_VALUE.

2011-08-01  Richard Guenther  <rguenther@suse.de>

	* stor-layout.c (initialize_sizetypes): Properly sign-extend
	bitsiztype TYPE_MAX_VALUE.

From-SVN: r177016
This commit is contained in:
Richard Guenther 2011-08-01 11:51:04 +00:00 committed by Richard Biener
parent f64398b59c
commit e62a2b6e5c
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2011-08-01 Richard Guenther <rguenther@suse.de>
* stor-layout.c (initialize_sizetypes): Properly sign-extend
bitsiztype TYPE_MAX_VALUE.
2011-08-01 Julian Brown <julian@codesourcery.com>
* optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point

View File

@ -2247,7 +2247,11 @@ initialize_sizetypes (void)
= size_int (GET_MODE_SIZE (TYPE_MODE (bitsizetype)));
set_min_and_max_values_for_integral_type (bitsizetype, bprecision,
/*is_unsigned=*/true);
/* ??? TYPE_MAX_VALUE is not properly sign-extended. */
/* bitsizetype is unsigned but we need to fix TYPE_MAX_VALUE so that it is
sign-extended in a way consistent with force_fit_type. */
TYPE_MAX_VALUE (bitsizetype)
= double_int_to_tree (bitsizetype,
tree_to_double_int (TYPE_MAX_VALUE (bitsizetype)));
/* Create the signed variants of *sizetype. */
ssizetype = make_signed_type (TYPE_PRECISION (sizetype));