diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fold-const.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 32be0dd..e6f51da 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2008-02-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> + + * fold-const.c (fold_convertible_p): Correct the logic to follow + that in fold_convert(). + 2008-02-29 Douglas Gregor <doug.gregor@gmail.com> PR c++/35315 diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 987acf1..5af6f0d 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2475,8 +2475,15 @@ fold_convertible_p (const_tree type, const_tree arg) return (TREE_CODE (orig) == VECTOR_TYPE && tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig))); - default: + case REAL_TYPE: + case FIXED_POINT_TYPE: + case COMPLEX_TYPE: + case VECTOR_TYPE: + case VOID_TYPE: return TREE_CODE (type) == TREE_CODE (orig); + + default: + return false; } } |