diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-common.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33ac2fe..f0fa86d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-07-21 Alexandre Oliva <aoliva@redhat.com> + + * c-common.c (c_common_type_for_mode): Return integer types for + pointer modes. + 2003-07-22 Geoffrey Keating <geoffk@apple.com> * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here. diff --git a/gcc/c-common.c b/gcc/c-common.c index ed2c989..c33e632 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -1859,10 +1859,10 @@ c_common_type_for_mode (enum machine_mode mode, int unsignedp) return long_double_type_node; if (mode == TYPE_MODE (build_pointer_type (char_type_node))) - return build_pointer_type (char_type_node); + return unsignedp ? make_unsigned_type (mode) : make_signed_type (mode); if (mode == TYPE_MODE (build_pointer_type (integer_type_node))) - return build_pointer_type (integer_type_node); + return unsignedp ? make_unsigned_type (mode) : make_signed_type (mode); switch (mode) { |