aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-10-28 17:17:00 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-10-28 17:17:00 -0500
commit3c9675679a3326ed57d41190ac3f536073500ff8 (patch)
tree4ae752404dcf4b82fa39ae27869900f0a889ac02
parentef9d910bb4edf56f168ff6940e8dd1a09fe8f83b (diff)
downloadgcc-3c9675679a3326ed57d41190ac3f536073500ff8.zip
gcc-3c9675679a3326ed57d41190ac3f536073500ff8.tar.gz
gcc-3c9675679a3326ed57d41190ac3f536073500ff8.tar.bz2
(signed_or_unsigned_type): If already right signedness, return.
From-SVN: r13055
-rw-r--r--gcc/c-typeck.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 7014040..fa647db 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -776,7 +776,8 @@ signed_or_unsigned_type (unsignedp, type)
int unsignedp;
tree type;
{
- if (! INTEGRAL_TYPE_P (type))
+ if (! INTEGRAL_TYPE_P (type)
+ || TREE_UNSIGNED (type) == unsignedp)
return type;
if (TYPE_PRECISION (type) == TYPE_PRECISION (signed_char_type_node))
return unsignedp ? unsigned_char_type_node : signed_char_type_node;