Too simple long parsion. Take me a long long long time to see my mistake, Sorry (long long long wasn't see as an error) This reverts commit a4cd2805f95e1369254762478883e91050f2cba1.
Unified · Split
| @@ -3954,7 +3954,7 @@ static int parse_btype(CType *type, AttributeDef *ad) · 3953 unmodified lines | ||
| 3954 | 3954 | basic_type: |
| 3955 | 3955 | next(); |
| 3956 | 3956 | basic_type1: |
| 3957 | − if (u == VT_SHORT) { | |
| 3957 | + if (u == VT_SHORT || u == VT_LONG) { | |
| 3958 | 3958 | if (st != -1 || (bt != -1 && bt != VT_INT)) |
| 3959 | 3959 | tmbt: tcc_error("too many basic types"); |
| 3960 | 3960 | st = u; |
| @@ -3984,8 +3984,8 @@ static int parse_btype(CType *type, AttributeDef *ad) · 23 unmodified lines | ||
| 3984 | 3984 | } else if (t & VT_LONG) { |
| 3985 | 3985 | t = (t & ~(VT_LONG | VT_BTYPE)) | VT_LLONG; |
| 3986 | 3986 | } else { |
| 3987 | − t |= VT_LONG; | |
| 3988 | − typespec_found = 1; | |
| 3987 | + u = VT_LONG; | |
| 3988 | + goto basic_type; | |
| 3989 | 3989 | } |
| 3990 | 3990 | next(); |
| 3991 | 3991 | break; |