diff options
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 7 |
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))) |