From: Ovidiu Predescu Date: Tue, 16 Feb 1999 15:39:00 +0000 (+0000) Subject: Applied Richard Frith-Macdonald's patch to objc/objc-act.c for encoding the type. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6b99d47087fb99be38053525546ea3be51b6fe8e;p=gcc.git Applied Richard Frith-Macdonald's patch to objc/objc-act.c for encoding the type. From-SVN: r25249 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0b6bbdf771d..d7008dfe00d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Tue Feb 16 15:31:39 1999 Ovidiu Predescu + + * objc/objc-act.c (encode_type): Encode the type instead of + encoding the mode of the type (patch from Richard Frith-Macdonald + ). + Tue Feb 16 10:53:51 1999 Richard Earnshaw (rearnsha@arm.com) * config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index e53b26f3ef2..7f53d178eb0 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -6782,38 +6782,37 @@ encode_type (type, curtype, format) { /* Unsigned integer types. */ - if (TYPE_MODE (type) == QImode) + type = TYPE_MAIN_VARIANT (type); + if (type == unsigned_type_node) + obstack_1grow (&util_obstack, 'I'); + else if (type == long_unsigned_type_node) + obstack_1grow (&util_obstack, 'L'); + else if (type == unsigned_char_type_node) obstack_1grow (&util_obstack, 'C'); - else if (TYPE_MODE (type) == HImode) + else if (type == short_unsigned_type_node) obstack_1grow (&util_obstack, 'S'); - else if (TYPE_MODE (type) == SImode) - { - if (type == long_unsigned_type_node) - obstack_1grow (&util_obstack, 'L'); - else - obstack_1grow (&util_obstack, 'I'); - } - else if (TYPE_MODE (type) == DImode) + else if (type == long_long_unsigned_type_node) obstack_1grow (&util_obstack, 'Q'); + else + fatal ("attempt to encode unsigned int of unknown type"); } else /* Signed integer types. */ { - if (TYPE_MODE (type) == QImode) + type = TYPE_MAIN_VARIANT (type); + if (type == integer_type_node) + obstack_1grow (&util_obstack, 'i'); + else if (type == long_integer_type_node) + obstack_1grow (&util_obstack, 'l'); + else if (type == char_type_node || type == signed_char_type_node) obstack_1grow (&util_obstack, 'c'); - else if (TYPE_MODE (type) == HImode) + else if (type == short_integer_type_node) obstack_1grow (&util_obstack, 's'); - else if (TYPE_MODE (type) == SImode) - { - if (type == long_integer_type_node) - obstack_1grow (&util_obstack, 'l'); - else - obstack_1grow (&util_obstack, 'i'); - } - - else if (TYPE_MODE (type) == DImode) + else if (type == long_long_integer_type_node) obstack_1grow (&util_obstack, 'q'); + else + fatal ("attempt to encode signed int of unknown type"); } } @@ -6858,38 +6857,37 @@ encode_complete_bitfield (int position, tree type, int size) { /* Unsigned integer types. */ - if (TYPE_MODE (type) == QImode) + type = TYPE_MAIN_VARIANT (type); + if (type == unsigned_type_node) + charType = 'I'; + else if (type == long_unsigned_type_node) + charType = 'L'; + else if (type == unsigned_char_type_node) charType = 'C'; - else if (TYPE_MODE (type) == HImode) + else if (type == short_unsigned_type_node) charType = 'S'; - else if (TYPE_MODE (type) == SImode) - { - if (type == long_unsigned_type_node) - charType = 'L'; - else - charType = 'I'; - } - else if (TYPE_MODE (type) == DImode) + else if (type == long_long_unsigned_type_node) charType = 'Q'; + else + fatal ("attempt to encode unsigned int of unknown type"); } else /* Signed integer types. */ { - if (TYPE_MODE (type) == QImode) + type = TYPE_MAIN_VARIANT (type); + if (type == unsigned_type_node) + charType = 'i'; + else if (type == long_unsigned_type_node) + charType = 'l'; + else if (type == char_type_node || type == signed_char_type_node) charType = 'c'; - else if (TYPE_MODE (type) == HImode) + else if (type == short_unsigned_type_node) charType = 's'; - else if (TYPE_MODE (type) == SImode) - { - if (type == long_integer_type_node) - charType = 'l'; - else - charType = 'i'; - } - - else if (TYPE_MODE (type) == DImode) + else if (type == long_long_unsigned_type_node) charType = 'q'; + else + fatal ("attempt to encode signed int of unknown type"); } }