In particular, the following identifiers (along with their __X__ variants) are now accepted as attribute names: fastcall, dllimport and dllexport. (cdecl and stdcall were added in baf2c5a84e by Michael Stefaniuc). For now, at least, these attributes are just ignored. Signed-off-by: Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxx> --- ident-list.h | 7 +++++++ parse.c | 6 ++++++ 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/ident-list.h b/ident-list.h index 7633a2f..d09c2ab 100644 --- a/ident-list.h +++ b/ident-list.h @@ -70,6 +70,13 @@ IDENT(nonnull); IDENT(__nonnull); IDENT(__nonnull__); IDENT(__deprecated__); IDENT(__warn_unused_result__); +/* WIN32 specific Attribute names */ +IDENT(cdecl); IDENT(__cdecl__); +IDENT(stdcall); IDENT(__stdcall__); +IDENT(fastcall); IDENT(__fastcall__); +IDENT(dllimport); IDENT(__dllimport__); +IDENT(dllexport); IDENT(__dllexport__); + /* Preprocessor idents */ __IDENT(pragma_ident, "__pragma__", 0); __IDENT(__VA_ARGS___ident, "__VA_ARGS__", 0); diff --git a/parse.c b/parse.c index b74c7c0..db5c9e6 100644 --- a/parse.c +++ b/parse.c @@ -327,6 +327,12 @@ static struct init_keyword { { "__cdecl__", NS_KEYWORD, .op = &ignore_attr_op }, { "stdcall", NS_KEYWORD, .op = &ignore_attr_op }, { "__stdcall__", NS_KEYWORD, .op = &ignore_attr_op }, + { "fastcall", NS_KEYWORD, .op = &ignore_attr_op }, + { "__fastcall__", NS_KEYWORD, .op = &ignore_attr_op }, + { "dllimport", NS_KEYWORD, .op = &ignore_attr_op }, + { "__dllimport__", NS_KEYWORD, .op = &ignore_attr_op }, + { "dllexport", NS_KEYWORD, .op = &ignore_attr_op }, + { "__dllexport__", NS_KEYWORD, .op = &ignore_attr_op }, }; void init_parser(int stream) -- 1.5.1 - To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html