* fold-const.c (fold_unary) <CASE_CONVERT>: Add ??? comment.

From-SVN: r136200
This commit is contained in:
Eric Botcazou 2008-05-30 07:35:17 +00:00 committed by Eric Botcazou
parent c100de59eb
commit bfab40f8e5
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2008-05-30 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (fold_unary) <CASE_CONVERT>: Add ??? comment.
2008-05-30 Danny Smith <dannysmith@users.sourceforge.net>
* incpath.c: Use HOST_LACKS_INODE_NUMBERS conditional

View File

@ -7866,7 +7866,10 @@ fold_unary (enum tree_code code, tree type, tree op0)
/* Convert (T)(x & c) into (T)x & (T)c, if c is an integer
constants (if x has signed type, the sign bit cannot be set
in c). This folds extension into the BIT_AND_EXPR. */
in c). This folds extension into the BIT_AND_EXPR.
??? We don't do it for BOOLEAN_TYPE or ENUMERAL_TYPE because they
very likely don't have maximal range for their precision and this
transformation effectively doesn't preserve non-maximal ranges. */
if (TREE_CODE (type) == INTEGER_TYPE
&& TREE_CODE (op0) == BIT_AND_EXPR
&& TREE_CODE (TREE_OPERAND (op0, 1)) == INTEGER_CST)