linux-kernel-mentees.lists.linuxfoundation.org archive mirror
 help / color / mirror / Atom feed
* [Linux-kernel-mentees] [PATCH v2 00/32] cocci: Add cast attributes to C and SmPL ASTs
@ 2020-05-11 10:06 Jaskaran Singh
  2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 01/32] parsing_c: parser: Pass attribute list from type_name Jaskaran Singh
                   ` (31 more replies)
  0 siblings, 32 replies; 33+ messages in thread
From: Jaskaran Singh @ 2020-05-11 10:06 UTC (permalink / raw)
  To: cocci; +Cc: julia.lawall, jaskaransingh7654321, linux-kernel-mentees

This patch series aims to add cast attributes to the 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].

Three test cases are included:

- detect_cast_attr: Test case to detect a parameter attribute.

- remove_cast_attr: Test case to remove a parameter attribute as per the
  given SmPL.

- remove_cast_attr_allminus: Test case to replace a type in a cast and
  checking if the attribute is removed as well.

[1]https://www.mail-archive.com/cocci@systeme.lip6.fr/msg07133.html

Changes in v2:
--------------
parsing_c: parser: Pass attribute list from type_name
- Warn about dropped attributes in typeof and sizeof productions

parsing_cocci: parser: Parse cast attributes
- Mention in commit message that cast attributes are matched anywhere
  in a cast.

parsing_cocci: arity: Reflect Cast attributes
- Apply mcode2arity on attributes as well.

parsing_cocci: visitor_ast: Visit cast attributes
- Typo in commit message (AST0 -> AST).

parsing_c: pretty_print_c: Reflect Cast attributes
- Less space in front of [

parsing_c: ast_c: Add Cast attributes
- Switch places of expression and attributes in Cast type.

parsing_c: parser: Parse Cast attributes
- Switch places of expression and attributes in Cast type.

parsing_c: pretty_print_c: Reflect Cast attributes
- Switch places of expression and attributes in Cast type.
- Change printing order of cast elements.

parsing_c: type_annoter_c: Reflect Cast attributes
- Switch places of expression and attributes in Cast type.

parsing_c: visitor_c: Visit Cast attributes
- Switch places of expression and attributes in Cast type.
- Change visitor order of cast elements.

engine: cocci_vs_c: Match Cast attributes
- Switch places of expression and attributes in C AST Cast type.

ocaml: coccilib: Reflect Cast attributes
- Switch places of expression and attributes in C AST Cast type.

Jaskaran Singh (32):
      parsing_c: parser: Pass attribute list from type_name
      parsing_cocci: ast0_cocci: Add cast attributes
      parsing_cocci: parser: Parse cast attributes
      parsing_cocci: visitor_ast0: Visit cast attributes
      parsing_cocci: unparse_ast0: Reflect cast attributes
      parsing_cocci: index: Reflect Cast attributes
      parsing_cocci: iso_pattern: Reflect Cast attributes
      parsing_cocci: type_infer: Reflect Cast attributes
      parsing_cocci: arity: Reflect Cast attributes
      parsing_cocci: check_meta: Reflect Cast attributes
      parsing_cocci: compute_lines: Reflect Cast attributes
      parsing_cocci: context_neg: Reflect Cast attributes
      parsing_cocci: single_statement: Reflect Cast attributes
      parsing_cocci: ast_cocci: Add cast attributes
      parsing_cocci: visitor_ast: Visit cast attributes
      parsing_cocci: pretty_print_cocci: Print cast attributes
      parsing_cocci: ast0toast: Reflect Cast attributes
      parsing_cocci: disjdistr: Reflect Cast attributes
      parsing_cocci: unify_ast: Reflect Cast attributes
      parsing_c: ast_c: Add Cast attributes
      parsing_c: parser: Parse Cast attributes
      parsing_c: pretty_print_c: Reflect Cast attributes
      parsing_c: type_annoter_c: Reflect Cast attributes
      parsing_c: unparse_cocci: Reflect Cast attributes
      parsing_c: visitor_c: Visit Cast attributes
      engine: check_exhaustive_pattern: Reflect Cast attributes
      engine: cocci_vs_c: Match Cast attributes
      ocaml: coccilib: Reflect Cast attributes
      tools: spgen: Reflect Cast attrs
      tests: Add test case to check cast attribute allminus
      tests: Add test case to remove cast attributes
      tests: Add test case to detect cast attributes

 engine/check_exhaustive_pattern.ml       |    2 +-
 engine/cocci_vs_c.ml                     |   24 +++++++++++++++++-------
 ocaml/coccilib.mli                       |    9 +++++----
 parsing_c/ast_c.ml                       |    2 +-
 parsing_c/ast_c.mli                      |    2 +-
 parsing_c/parse_c.ml                     |    4 +++-
 parsing_c/parser_c.mly                   |   27 ++++++++++++++++++---------
 parsing_c/pretty_print_c.ml              |    7 ++++---
 parsing_c/type_annoter_c.ml              |    4 ++--
 parsing_c/unparse_cocci.ml               |    6 ++++--
 parsing_c/visitor_c.ml                   |   11 +++++++++--
 parsing_cocci/arity.ml                   |    8 +++++---
 parsing_cocci/ast0_cocci.ml              |    4 ++--
 parsing_cocci/ast0_cocci.mli             |    4 ++--
 parsing_cocci/ast0toast.ml               |    5 +++--
 parsing_cocci/ast_cocci.ml               |    4 ++--
 parsing_cocci/ast_cocci.mli              |    4 ++--
 parsing_cocci/check_meta.ml              |    3 ++-
 parsing_cocci/compute_lines.ml           |    5 +++--
 parsing_cocci/context_neg.ml             |    2 +-
 parsing_cocci/disjdistr.ml               |    5 +++--
 parsing_cocci/index.ml                   |    2 +-
 parsing_cocci/iso_pattern.ml             |   12 +++++++++---
 parsing_cocci/parser_cocci_menhir.mly    |    9 +++++----
 parsing_cocci/pretty_print_cocci.ml      |    4 +++-
 parsing_cocci/single_statement.ml        |    2 +-
 parsing_cocci/type_infer.ml              |    2 +-
 parsing_cocci/unify_ast.ml               |    6 ++++--
 parsing_cocci/unparse_ast0.ml            |    4 +++-
 parsing_cocci/visitor_ast.ml             |   10 ++++++----
 parsing_cocci/visitor_ast0.ml            |    6 ++++--
 tests/detect_cast_attr.c                 |   10 ++++++++++
 tests/detect_cast_attr.cocci             |   11 +++++++++++
 tests/detect_cast_attr.res               |   10 ++++++++++
 tests/remove_cast_attr.c                 |   10 ++++++++++
 tests/remove_cast_attr.cocci             |   10 ++++++++++
 tests/remove_cast_attr.res               |   10 ++++++++++
 tests/remove_cast_attr_allminus.c        |   10 ++++++++++
 tests/remove_cast_attr_allminus.cocci    |    9 +++++++++
 tests/remove_cast_attr_allminus.res      |   10 ++++++++++
 tools/spgen/source/position_generator.ml |    4 ++--
 41 files changed, 219 insertions(+), 74 deletions(-)



_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2020-05-11 10:10 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-11 10:06 [Linux-kernel-mentees] [PATCH v2 00/32] cocci: Add cast attributes to C and SmPL ASTs Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 01/32] parsing_c: parser: Pass attribute list from type_name Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 02/32] parsing_cocci: ast0_cocci: Add cast attributes Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 03/32] parsing_cocci: parser: Parse " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 04/32] parsing_cocci: visitor_ast0: Visit " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 05/32] parsing_cocci: unparse_ast0: Reflect " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 06/32] parsing_cocci: index: Reflect Cast attributes Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 07/32] parsing_cocci: iso_pattern: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 08/32] parsing_cocci: type_infer: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 09/32] parsing_cocci: arity: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 10/32] parsing_cocci: check_meta: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 11/32] parsing_cocci: compute_lines: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 12/32] parsing_cocci: context_neg: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 13/32] parsing_cocci: single_statement: " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 14/32] parsing_cocci: ast_cocci: Add cast attributes Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 15/32] parsing_cocci: visitor_ast: Visit " Jaskaran Singh
2020-05-11 10:06 ` [Linux-kernel-mentees] [PATCH v2 16/32] parsing_cocci: pretty_print_cocci: Print " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 17/32] parsing_cocci: ast0toast: Reflect Cast attributes Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 18/32] parsing_cocci: disjdistr: " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 19/32] parsing_cocci: unify_ast: " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 20/32] parsing_c: ast_c: Add " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 21/32] parsing_c: parser: Parse " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 22/32] parsing_c: pretty_print_c: Reflect " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 23/32] parsing_c: type_annoter_c: " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 24/32] parsing_c: unparse_cocci: " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 25/32] parsing_c: visitor_c: Visit " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 26/32] engine: check_exhaustive_pattern: Reflect " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 27/32] engine: cocci_vs_c: Match " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 28/32] ocaml: coccilib: Reflect " Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 29/32] tools: spgen: Reflect Cast attrs Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 30/32] tests: Add test case to check cast attribute allminus Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 31/32] tests: Add test case to remove cast attributes Jaskaran Singh
2020-05-11 10:07 ` [Linux-kernel-mentees] [PATCH v2 32/32] tests: Add test case to detect " Jaskaran Singh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).