diff options
| author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-06-02 12:50:08 +0000 |
|---|---|---|
| committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-06-02 12:50:08 +0000 |
| commit | a8868e1935bc16c8f4b8e53fbfba372f5ef12ed2 (patch) | |
| tree | 3855d7ea3081fbc868ff162effb41193a7d8e24d | |
| parent | 8908831d0da27f783536d9c4e9aa07133449afce (diff) | |
| download | ppe42-gcc-a8868e1935bc16c8f4b8e53fbfba372f5ef12ed2.tar.gz ppe42-gcc-a8868e1935bc16c8f4b8e53fbfba372f5ef12ed2.zip | |
* c-common.c (c_get_alias_set): Check whether signed_type did not
return its argument before calling get_alias_set on the result.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34356 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/c-common.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dcb4cac1502..c0e6bff72f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-06-02 Jakub Jelinek <jakub@redhat.com> + + * c-common.c (c_get_alias_set): Check whether signed_type did not + return its argument before calling get_alias_set on the result. + 2000-06-02 Andrew MacLeod <amacleod@cygnus.com> * expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE. diff --git a/gcc/c-common.c b/gcc/c-common.c index 0ba68733118..979c380e941 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -3298,8 +3298,13 @@ c_get_alias_set (t) unsigned variants of the same type. We treat the signed variant as canonical. */ if (TREE_CODE (t) == INTEGER_TYPE && TREE_UNSIGNED (t)) - return get_alias_set (signed_type (t)); + { + tree t1 = signed_type (t); + /* t1 == t can happen for boolean nodes which are always unsigned. */ + if (t1 != t) + return get_alias_set (t1); + } else if (POINTER_TYPE_P (t)) { tree t1; |

