aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tccgen.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tccgen.c b/tccgen.c
index 3da1143..292c091 100644
--- a/tccgen.c
+++ b/tccgen.c
@@ -3954,7 +3954,7 @@ static int parse_btype(CType *type, AttributeDef *ad)
basic_type:
next();
basic_type1:
- if (u == VT_SHORT || u == VT_LONG) {
+ if (u == VT_SHORT) {
if (st != -1 || (bt != -1 && bt != VT_INT))
tmbt: tcc_error("too many basic types");
st = u;
@@ -3984,8 +3984,8 @@ static int parse_btype(CType *type, AttributeDef *ad)
} else if (t & VT_LONG) {
t = (t & ~(VT_LONG | VT_BTYPE)) | VT_LLONG;
} else {
- u = VT_LONG;
- goto basic_type;
+ t |= VT_LONG;
+ typespec_found = 1;
}
next();
break;