Skip to content

Commit fe38a84

Browse files
committed
fix short unsigned C declarations
1 parent e5eb2b1 commit fe38a84

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

Changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
Version 7.2.1
22
- Use _rxpin as repository to hold frequency for gbrk debug
3+
- Fixed "short unsigned" declarations in C
34

45
Version 7.2.0
56
- Add _[n] syntax for skipping assignments in Spin2

frontends/c/cgram.y

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,12 @@ CombineTypes(AST *first, AST *second, AST **identifier, Module **module)
285285
second->left = first;
286286
return second;
287287
default:
288+
if (first && second && first == ast_type_signed_word) {
289+
if (TypeSize(second) == 4 && IsUnsignedType(second)) {
290+
second = DupAST(ast_type_word);
291+
first = NULL;
292+
}
293+
}
288294
if (!first) {
289295
return MergePrefix(prefix, second);
290296
}

0 commit comments

Comments
 (0)