c-common.c (c_common_type_for_mode): Return integer types for pointer modes.
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 22 Jul 2003 02:26:53 +0000 (02:26 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Tue, 22 Jul 2003 02:26:53 +0000 (02:26 +0000)
* c-common.c (c_common_type_for_mode): Return integer types for
pointer modes.

From-SVN: r69661

gcc/ChangeLog
gcc/c-common.c

index 33ac2fe9d61360da32822d10bcc5be8c3ea62a32..f0fa86d02e1eb3d8fb01ed82f8f30a4822cac42d 100644 (file)
@@ -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.
index ed2c989d0580a142f813c8a3b7b7a1896d554490..c33e6326527693ddc94b3704e54a457a2d6d8bf3 100644 (file)
@@ -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)
     {