aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/parse.c
diff options
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/parse.c b/parse.c
index 5eb47576..42f43186 100644
--- a/parse.c
+++ b/parse.c
@@ -256,7 +256,7 @@ static const char * handle_attribute(struct ctype *ctype, struct ident *attribut
*/
if (match_string_ident(ident, "__QI__") ||
match_string_ident(ident, "QI")) {
- ctype->modifiers |= MOD_SHORT;
+ ctype->modifiers |= MOD_CHAR;
ctype->base_type = ctype_integer(ctype->modifiers);
return NULL;
}
@@ -277,6 +277,12 @@ static const char * handle_attribute(struct ctype *ctype, struct ident *attribut
ctype->base_type = ctype_integer(ctype->modifiers);
return NULL;
}
+ if (match_string_ident(ident, "__word__") ||
+ match_string_ident(ident, "word")) {
+ ctype->modifiers |= MOD_LONG;
+ ctype->base_type = ctype_integer(ctype->modifiers);
+ return NULL;
+ }
return "unknown mode attribute";
}
return "expected attribute mode symbol";