aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 3814bfd..48dcd5d 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -2076,9 +2076,6 @@ tree
c_common_signed_or_unsigned_type (int unsignedp, tree type)
{
tree type1;
- if (!INTEGRAL_TYPE_P (type)
- || TYPE_UNSIGNED (type) == unsignedp)
- return type;
/* This block of code emulates the behavior of the old
c_common_unsigned_type. In particular, it returns
@@ -2121,6 +2118,10 @@ c_common_signed_or_unsigned_type (int unsignedp, tree type)
types, and producing a signed or unsigned variant of an
ENUMERAL_TYPE may cause other problems as well. */
+ if (!INTEGRAL_TYPE_P (type)
+ || TYPE_UNSIGNED (type) == unsignedp)
+ return type;
+
#define TYPE_OK(node) \
(TYPE_MODE (type) == TYPE_MODE (node) \
&& (c_dialect_cxx () || TYPE_PRECISION (type) == TYPE_PRECISION (node)))