From 345fd0e917dbecd11edb21db0b8ff0ee2ede966e Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Tue, 12 Aug 2008 13:35:43 +0000 Subject: [PATCH] fix for mode attribute stuff [r21124] --- parser.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/parser.c b/parser.c index f1adb8e..47556d6 100644 --- a/parser.c +++ b/parser.c @@ -1293,13 +1293,16 @@ static void parse_gnu_attribute_mode_arg(gnu_attribute_t *attribute) /* This isn't really correct, the backend should provide a list of machine * specific modes (according to gcc philosophy that is...) */ const char *symbol_str = token.v.symbol->string; - if(strcmp_underscore("QI", symbol_str) == 0) { + if (strcmp_underscore("QI", symbol_str) == 0 || + strcmp_underscore("byte", symbol_str) == 0) { attribute->u.akind = ATOMIC_TYPE_CHAR; } else if (strcmp_underscore("HI", symbol_str) == 0) { attribute->u.akind = ATOMIC_TYPE_SHORT; - } else if(strcmp_underscore("SI", symbol_str) == 0) { + } else if (strcmp_underscore("SI", symbol_str) == 0 + || strcmp_underscore("word", symbol_str) == 0 + || strcmp_underscore("pointer", symbol_str) == 0) { attribute->u.akind = ATOMIC_TYPE_INT; - } else if(strcmp_underscore("DI", symbol_str) == 0) { + } else if (strcmp_underscore("DI", symbol_str) == 0) { attribute->u.akind = ATOMIC_TYPE_LONGLONG; } else { warningf(HERE, "ignoring unknown mode '%s'", symbol_str); -- 2.20.1