linux-kernel-mentees.lists.linuxfoundation.org archive mirror
 help / color / mirror / Atom feed
From: Jaskaran Singh <jaskaransingh7654321@gmail.com>
To: cocci@systeme.lip6.fr
Cc: julia.lawall@inria.fr, jaskaransingh7654321@gmail.com,
	linux-kernel-mentees@lists.linuxfoundation.org
Subject: [Linux-kernel-mentees] [PATCH v3 00/32] cocci: Add cast attributes to C and SmPL ASTs
Date: Fri, 29 May 2020 17:36:30 +0530	[thread overview]
Message-ID: <20200529120703.31145-1-jaskaransingh7654321@gmail.com> (raw)

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.


Changes in v3:
--------------
Rebase as follows:
	v3 of "cocci: Add Parameter attributes to SmPL"[2]
	v3 of "cocci: Improve C parsing of attributes"[3]
	gitlab master branch (ffb87d9d)


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.


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


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

             reply	other threads:[~2020-05-29 12:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-29 12:06 Jaskaran Singh [this message]
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 01/32] parsing_c: parser: Pass attribute list from type_name Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 02/32] parsing_cocci: ast0_cocci: Add cast attributes Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 03/32] parsing_cocci: parser: Parse " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 04/32] parsing_cocci: visitor_ast0: Visit " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 05/32] parsing_cocci: unparse_ast0: Reflect " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 06/32] parsing_cocci: index: Reflect Cast attributes Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 07/32] parsing_cocci: iso_pattern: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 08/32] parsing_cocci: type_infer: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 09/32] parsing_cocci: arity: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 10/32] parsing_cocci: check_meta: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 11/32] parsing_cocci: compute_lines: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 12/32] parsing_cocci: context_neg: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 13/32] parsing_cocci: single_statement: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 14/32] parsing_cocci: ast_cocci: Add cast attributes Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 15/32] parsing_cocci: visitor_ast: Visit " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 16/32] parsing_cocci: pretty_print_cocci: Print " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 17/32] parsing_cocci: ast0toast: Reflect Cast attributes Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 18/32] parsing_cocci: disjdistr: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 19/32] parsing_cocci: unify_ast: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 20/32] parsing_c: ast_c: Add " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 21/32] parsing_c: parser: Parse " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 22/32] parsing_c: pretty_print_c: Reflect " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 23/32] parsing_c: type_annoter_c: " Jaskaran Singh
2020-06-06 13:53   ` [Linux-kernel-mentees] [PATCH v4 " Jaskaran Singh
2020-06-06 14:01     ` Julia Lawall
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 24/32] parsing_c: unparse_cocci: " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 25/32] parsing_c: visitor_c: Visit " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 26/32] engine: check_exhaustive_pattern: Reflect " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 27/32] engine: cocci_vs_c: Match " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 28/32] ocaml: coccilib: Reflect " Jaskaran Singh
2020-05-29 12:06 ` [Linux-kernel-mentees] [PATCH v3 29/32] tools: spgen: Reflect Cast attrs Jaskaran Singh
2020-05-29 12:07 ` [Linux-kernel-mentees] [PATCH v3 30/32] tests: Add test case to check cast attribute allminus Jaskaran Singh
2020-05-29 12:07 ` [Linux-kernel-mentees] [PATCH v3 31/32] tests: Add test case to remove cast attributes Jaskaran Singh
2020-05-29 12:07 ` [Linux-kernel-mentees] [PATCH v3 32/32] tests: Add test case to detect " Jaskaran Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200529120703.31145-1-jaskaransingh7654321@gmail.com \
    --to=jaskaransingh7654321@gmail.com \
    --cc=cocci@systeme.lip6.fr \
    --cc=julia.lawall@inria.fr \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).