This patch series aims to add macrodecl attributes to C and SmPL ASTs, and match them in C source code. This is a continuation of the series "cocci: Improve C parsing of attributes"[1].
Two test cases are included: - detect_macrodecl_attr: Test case to detect a macrodecl attribute. - remove_macrodecl_attr: Test case to remove a macrodecl attribute as per the given SmPL. [1]https://www.mail-archive.com/[email protected]/msg07133.html Jaskaran Singh (30): parsing_cocci: ast0_cocci: Add Macrodecl attributes parsing_cocci: parser: Parse Macrodecl attributes parsing_cocci: visitor_ast0: Visit Macrodecl attributes parsing_cocci: unparse_ast0: Reflect Macrodecl attributes parsing_cocci: index: Reflect Macrodecl attributes parsing_cocci: iso_pattern: Reflect Macrodecl attributes parsing_cocci: type_infer: Reflect Macrodecl attributes parsing_cocci: arity: Reflect Macrodecl attributes parsing_cocci: check_meta: Reflect Macrodecl attributes parsing_cocci: compute_lines: Reflect Macrodecl attributes parsing_cocci: context_neg: Reflect Macrodecl attributes parsing_cocci: single_statement: Reflect Macrodecl attributes parsing_cocci: ast_cocci: Reflect Macrodecl attributes parsing_cocci: visitor_ast: Reflect Macrodecl attributes parsing_cocci: pretty_print_cocci: Reflect Macrodecl attributes parsing_cocci: disjdistr: Reflect Macrodecl attributes parsing_cocci: adjust_pragmas: Reflect Macrodecl attributes parsing_cocci: unify_ast: Reflect Macrodecl attributes parsing_cocci: ast0toast: Reflect Macrodecl attributes parsing_c: ast_c: Add Macrodecl attributes parsing_c: parser_c: Reflect Macrodecl attributes parsing_c: visitor_c: Reflect Macrodecl attributes parsing_c: pretty_print_c: Reflect Macrodecl attributes parsing_c: unparse_cocci: Reflect Macrodecl attributes engine: check_exhaustive_pattern: Reflect Macrodecl attributes engine: cocci_vs_c: Match Macrodecl attributes ocaml: coccilib: Reflect Macrodecl attributes tools: spgen: Reflect Macrodecl attributes tests: Add test case to remove macrodecl attributes tests: Add test case to detect a macrodecl attribute engine/check_exhaustive_pattern.ml | 4 ++-- engine/cocci_vs_c.ml | 23 +++++++++++++---------- ocaml/coccilib.mli | 8 +++++--- parsing_c/ast_c.ml | 3 ++- parsing_c/ast_c.mli | 4 +++- parsing_c/parser_c.mly | 23 ++++++++++++++++------- parsing_c/pretty_print_c.ml | 7 ++++--- parsing_c/unparse_cocci.ml | 7 +++++-- parsing_c/visitor_c.ml | 6 ++++-- parsing_cocci/adjust_pragmas.ml | 12 ++++++------ parsing_cocci/arity.ml | 5 +++-- parsing_cocci/ast0_cocci.ml | 3 ++- parsing_cocci/ast0_cocci.mli | 3 ++- parsing_cocci/ast0toast.ml | 5 +++-- parsing_cocci/ast_cocci.ml | 3 ++- parsing_cocci/ast_cocci.mli | 3 ++- parsing_cocci/check_meta.ml | 3 ++- parsing_cocci/compute_lines.ml | 7 ++++--- parsing_cocci/context_neg.ml | 6 +++--- parsing_cocci/disjdistr.ml | 4 ++-- parsing_cocci/index.ml | 2 +- parsing_cocci/iso_pattern.ml | 9 ++++++--- parsing_cocci/parser_cocci_menhir.mly | 8 ++++---- parsing_cocci/pretty_print_cocci.ml | 7 +++++-- parsing_cocci/single_statement.ml | 6 +++--- parsing_cocci/type_infer.ml | 2 +- parsing_cocci/unify_ast.ml | 4 ++-- parsing_cocci/unparse_ast0.ml | 7 +++++-- parsing_cocci/visitor_ast.ml | 10 ++++++---- parsing_cocci/visitor_ast0.ml | 7 ++++--- tests/detect_macrodecl_attr.c | 5 +++++ tests/detect_macrodecl_attr.cocci | 12 ++++++++++++ tests/detect_macrodecl_attr.res | 5 +++++ tests/remove_macrodecl_attr.c | 3 +++ tests/remove_macrodecl_attr.cocci | 8 ++++++++ tests/remove_macrodecl_attr.res | 3 +++ tools/spgen/source/meta_variable.ml | 2 +- tools/spgen/source/position_generator.ml | 4 ++-- 38 files changed, 161 insertions(+), 82 deletions(-) _______________________________________________ Cocci mailing list [email protected] https://systeme.lip6.fr/mailman/listinfo/cocci
