mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-16 13:01:21 +08:00
re PR middle-end/54945 (Too strong non-aliasing analysis?)
PR54945 From-SVN: r192617
This commit is contained in:
parent
db2415a9a1
commit
af89bd042d
@ -1,3 +1,9 @@
|
||||
2012-10-19 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR middle-end/54945
|
||||
* fold-const.c (fold_sign_changed_comparison): Punt if folding
|
||||
pointer/non-pointer comparison.
|
||||
|
||||
2012-10-19 Greta Yorsh <Greta.Yorsh@arm.com>
|
||||
|
||||
* doc/sourcebuild.texi (Effective-Target Keywords): Document
|
||||
|
@ -6731,12 +6731,14 @@ fold_sign_changed_comparison (location_t loc, enum tree_code code, tree type,
|
||||
&& TREE_TYPE (TREE_OPERAND (arg1, 0)) == inner_type))
|
||||
return NULL_TREE;
|
||||
|
||||
if ((TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type)
|
||||
|| POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type))
|
||||
if (TYPE_UNSIGNED (inner_type) != TYPE_UNSIGNED (outer_type)
|
||||
&& code != NE_EXPR
|
||||
&& code != EQ_EXPR)
|
||||
return NULL_TREE;
|
||||
|
||||
if (POINTER_TYPE_P (inner_type) != POINTER_TYPE_P (outer_type))
|
||||
return NULL_TREE;
|
||||
|
||||
if (TREE_CODE (arg1) == INTEGER_CST)
|
||||
arg1 = force_fit_type_double (inner_type, tree_to_double_int (arg1),
|
||||
0, TREE_OVERFLOW (arg1));
|
||||
|
Loading…
x
Reference in New Issue
Block a user