aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/c-common.c4
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)
{