A better way of denoting attributes is to pass attribute information from SmPL to the C parser. However, a temporary solution is to introduce a MACROANNOTATION hint to cpp_token_c.ml so that the parser can identify attributes easily.
This hint can be used as follows in standard.h, the user provided macro-defs file or the given C file itself: #define __attribute_name MACROANNOTATION By default, __attribute_name would be identified as a comment. Using the above hint, __attribute_name would be identified as an attribute and transformations from SmPL would be performed as if __attribute_name is an attribute, not a comment. Signed-off-by: Jaskaran Singh <jaskaransingh7654...@gmail.com> --- parsing_c/cpp_token_c.ml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/parsing_c/cpp_token_c.ml b/parsing_c/cpp_token_c.ml index 425234e8..0654be26 100644 --- a/parsing_c/cpp_token_c.ml +++ b/parsing_c/cpp_token_c.ml @@ -81,6 +81,8 @@ let assoc_hint_string = [ "YACFE_END_ATTRIBUTE" , HintEndAttribute; "YACFE_IDENT_BUILDER" , HintMacroIdentBuilder; + "MACROANNOTATION" , HintAttribute; + "MACROSTATEMENT" , HintMacroStatement; (* backward compatibility *) ] -- 2.21.1 _______________________________________________ Cocci mailing list Cocci@systeme.lip6.fr https://systeme.lip6.fr/mailman/listinfo/cocci