All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cocci] [PATCH v3 00/32] cocci: Add cast attributes to C and SmPL ASTs
@ 2020-05-29 12:06 ` Jaskaran Singh
  0 siblings, 0 replies; 70+ messages in thread
From: Jaskaran Singh @ 2020-05-29 12:06 UTC (permalink / raw)
  To: cocci; +Cc: 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.


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(-)


_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

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

end of thread, other threads:[~2020-06-06 14:01 UTC | newest]

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.