re PR middle-end/31023 (Fold is agnostic of integer sub-types)

2008-03-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/31023
	* fold-const.c (fold_sign_changed_comparison): Do leave
	conversions to base-types alone.

From-SVN: r133731
This commit is contained in:
Richard Guenther 2008-03-30 14:56:28 +00:00 committed by Richard Biener
parent 23d1b451d0
commit 9664860331
2 changed files with 11 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2008-03-30 Richard Guenther <rguenther@suse.de>
PR middle-end/31023
* fold-const.c (fold_sign_changed_comparison): Do leave
conversions to base-types alone.
2008-03-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Don't force saving of

View File

@ -6807,6 +6807,11 @@ fold_sign_changed_comparison (enum tree_code code, tree type,
if (TYPE_PRECISION (inner_type) != TYPE_PRECISION (outer_type))
return NULL_TREE;
/* If the conversion is from an integral subtype to its basetype
leave it alone. */
if (TREE_TYPE (inner_type) == outer_type)
return NULL_TREE;
if (TREE_CODE (arg1) != INTEGER_CST
&& !((TREE_CODE (arg1) == NOP_EXPR
|| TREE_CODE (arg1) == CONVERT_EXPR)