This patch series aims to add struct/union end attributes to SmPL, and is a continuation of the series "cocci: Improve C parsing of attributes"[1].
Two test cases are included: - detect_struct_endattr: Test case to detect a struct end attribute. - remove_struct_endattr: Test case to remove a struct end attribute as per the given SmPL. - remove_struct_endattr_allminus: Test case to remove a struct definition and check if the end attribute is removed as well. This series is rebased on [2]. [1]: [RFC PATCH 00/25] cocci: Improve C parsing of attributes https://lore.kernel.org/cocci/[email protected]/ [2]: [PATCH 00/30] cocci: Add macrodecl attributes to C and SmPL ASTs https://lore.kernel.org/cocci/[email protected]/ Jaskaran Singh (27): parsing_cocci: ast0_cocci: Add struct end attributes parsing_cocci: parser: Reflect struct end attributes parsing_cocci: visitor_ast0: Visit struct end attributes parsing_cocci: unparse_ast0: Reflect struct end attributes parsing_cocci: index: Reflect struct end attributes parsing_cocci: iso_pattern: Reflect struct end attributes parsing_cocci: type_infer: Reflect struct end attributes parsing_cocci: arity: Reflect struct end attributes parsing_cocci: check_meta: Reflect struct end attributes parsing_cocci: compute_lines: Reflect struct end attributes parsing_cocci: context_neg: Reflect struct end attributes parsing_cocci: single_statement: Reflect struct end attributes parsing_cocci: ast_cocci: Add struct end attributes parsing_cocci: visitor_ast: Visit struct end attributes parsing_cocci: pretty_print_cocci: Reflect struct end attributes parsing_cocci: disjdistr: Reflect struct end attributes parsing_cocci: adjust_pragmas: Reflect struct end attributes parsing_cocci: unify_ast: Reflect struct end attributes parsing_cocci: ast0toast: Reflect struct end attributes parsing_c: unparse_cocci: Reflect struct end attributes engine: check_exhaustive_pattern: Reflect struct end attributes engine: cocci_vs_c: Match struct end attributes ocaml: coccilib: Reflect struct end attributes tools: spgen: Reflect struct end attributes tests: Add test case to remove a struct end attribute tests: Add test case to detect a struct end attribute tests: Add test case to check struct endattr allminus engine/check_exhaustive_pattern.ml | 4 ++-- engine/cocci_vs_c.ml | 17 ++++++++++------- ocaml/coccilib.mli | 4 ++-- parsing_c/unparse_cocci.ml | 6 +++++- parsing_cocci/adjust_pragmas.ml | 8 ++++---- parsing_cocci/arity.ml | 8 +++++--- parsing_cocci/ast0_cocci.ml | 2 +- parsing_cocci/ast0_cocci.mli | 2 +- parsing_cocci/ast0toast.ml | 5 +++-- parsing_cocci/ast_cocci.ml | 2 +- parsing_cocci/ast_cocci.mli | 2 +- parsing_cocci/check_meta.ml | 2 +- parsing_cocci/compute_lines.ml | 5 +++-- parsing_cocci/context_neg.ml | 3 ++- 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 | 6 +++++- parsing_cocci/single_statement.ml | 4 ++-- parsing_cocci/type_infer.ml | 2 +- parsing_cocci/unify_ast.ml | 5 ++++- parsing_cocci/unparse_ast0.ml | 6 +++++- parsing_cocci/visitor_ast.ml | 10 ++++++---- parsing_cocci/visitor_ast0.ml | 5 +++-- tests/detect_struct_endattr.c | 13 +++++++++++++ tests/detect_struct_endattr.cocci | 9 +++++++++ tests/detect_struct_endattr.res | 12 ++++++++++++ tests/remove_struct_endattr.c | 7 +++++++ tests/remove_struct_endattr.cocci | 7 +++++++ tests/remove_struct_endattr.res | 7 +++++++ tests/remove_struct_endattr_allminus.c | 13 +++++++++++++ tests/remove_struct_endattr_allminus.cocci | 6 ++++++ tests/remove_struct_endattr_allminus.res | 1 + tools/spgen/source/position_generator.ml | 4 ++-- 35 files changed, 158 insertions(+), 52 deletions(-) _______________________________________________ Cocci mailing list [email protected] https://systeme.lip6.fr/mailman/listinfo/cocci
