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 | basic_type: | 3954 | basic_type: |
| 3955 | next(); | 3955 | next(); |
| 3956 | basic_type1: | 3956 | basic_type1: |
| 3957 | if (u == VT_SHORT) { | 3957 | if (u == VT_SHORT || u == VT_LONG) { |
| 3958 | if (st != -1 || (bt != -1 && bt != VT_INT)) | 3958 | if (st != -1 || (bt != -1 && bt != VT_INT)) |
| 3959 | tmbt: tcc_error("too many basic types"); | 3959 | tmbt: tcc_error("too many basic types"); |
| 3960 | st = u; | 3960 | st = u; |
| @@ -3984,8 +3984,8 @@ static int parse_btype(CType *type, AttributeDef *ad) · 23 unmodified lines | |||
| 3984 | } else if (t & VT_LONG) { | 3984 | } else if (t & VT_LONG) { |
| 3985 | t = (t & ~(VT_LONG | VT_BTYPE)) | VT_LLONG; | 3985 | t = (t & ~(VT_LONG | VT_BTYPE)) | VT_LLONG; |
| 3986 | } else { | 3986 | } else { |
| 3987 | t |= VT_LONG; | 3987 | u = VT_LONG; |
| 3988 | typespec_found = 1; | 3988 | goto basic_type; |
| 3989 | } | 3989 | } |
| 3990 | next(); | 3990 | next(); |
| 3991 | break; | 3991 | break; |