tree.c (int_fits_type_p): Only look at the base type if it has the same precision as the original type.

* tree.c (int_fits_type_p): Only look at the base type
	if it has the same precision as the original type.

From-SVN: r106738
This commit is contained in:
Eric Botcazou 2005-11-10 16:24:54 +00:00 committed by Eric Botcazou
parent c579887923
commit d25f3b83ce
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2005-11-10 Eric Botcazou <ebotcazou@adacore.com>
* tree.c (int_fits_type_p): Only look at the base type
if it has the same precision as the original type.
2005-11-10 Jakub Jelinek <jakub@redhat.com>
PR other/4372

View File

@ -5558,8 +5558,11 @@ int_fits_type_p (tree c, tree type)
return 0;
/* If we haven't been able to decide at this point, there nothing more we
can check ourselves here. Look at the base type if we have one. */
if (TREE_CODE (type) == INTEGER_TYPE && TREE_TYPE (type) != 0)
can check ourselves here. Look at the base type if we have one and it
has the same precision. */
if (TREE_CODE (type) == INTEGER_TYPE
&& TREE_TYPE (type) != 0
&& TYPE_PRECISION (type) == TYPE_PRECISION (TREE_TYPE (type)))
return int_fits_type_p (c, TREE_TYPE (type));
/* Or to force_fit_type, if nothing else. */