* c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
authorRoman Lechtchinsky <rl@cs.tu-berlin.de>
Sat, 15 Sep 2001 19:47:38 +0000 (19:47 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 15 Sep 2001 19:47:38 +0000 (12:47 -0700)
From-SVN: r45640

gcc/ChangeLog
gcc/c-common.c

index 1f89ff1bc67c918f8246ff49280f4d9ce5f91bd2..5d30dcddafa14695c70422c4f893bcf75c5b575f 100644 (file)
@@ -1,3 +1,7 @@
+2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
+
 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
 
        PR preprocessor/3571
index 755e526d1b16b140da001be10c8e68ce344b951a..1515e45c34fb8152a3c719295c37b2657271b9a2 100644 (file)
@@ -3391,7 +3391,8 @@ c_promoting_integer_type_p (t)
              || TYPE_MAIN_VARIANT (t) == signed_char_type_node
              || TYPE_MAIN_VARIANT (t) == unsigned_char_type_node
              || TYPE_MAIN_VARIANT (t) == short_integer_type_node
-             || TYPE_MAIN_VARIANT (t) == short_unsigned_type_node);
+             || TYPE_MAIN_VARIANT (t) == short_unsigned_type_node
+             || TYPE_PRECISION (t) < TYPE_PRECISION (integer_type_node));
 
     case ENUMERAL_TYPE:
       /* ??? Technically all enumerations not larger than an int