diff options
author | 2010-07-10 08:39:21 +0000 | |
---|---|---|
committer | 2010-07-13 00:34:09 -0700 | |
commit | c7689a5d9e7dc535ee7994f04162f93593970922 (patch) | |
tree | 64ce25fd0a8793cf0a3b46485697fa0dac73562e | |
parent | parser: add support for asm goto (diff) | |
download | sparse-c7689a5d9e7dc535ee7994f04162f93593970922.tar.gz sparse-c7689a5d9e7dc535ee7994f04162f93593970922.tar.bz2 sparse-c7689a5d9e7dc535ee7994f04162f93593970922.zip |
parser: fix and simplify support of asm goto
1) We now handle only "asm (volatile|goto)?", whereas
"asm volatile? goto?" is correct.
2) We need to match only goto_ident, so do it explicitly against
token->ident without match_idents.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Christopher <sparse@chrisli.org>
-rw-r--r-- | parse.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -1915,7 +1915,8 @@ static struct token *parse_asm_statement(struct token *token, struct statement * stmt->type = STMT_ASM; if (match_idents(token, &__volatile___ident, &__volatile_ident, &volatile_ident, NULL)) { token = token->next; - } else if (match_idents(token, &goto_ident, NULL)) { + } + if (token_type(token) == TOKEN_IDENT && token->ident == &goto_ident) { is_goto = 1; token = token->next; } |