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; 71+ 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] 71+ messages in thread
* Re: [Cocci] [PATCH v3 00/32] cocci: Add cast attributes to C and SmPL ASTs
@ 2020-05-30  7:50 Markus Elfring
  0 siblings, 0 replies; 71+ messages in thread
From: Markus Elfring @ 2020-05-30  7:50 UTC (permalink / raw)
  To: Jaskaran Singh; +Cc: linux-kernel-mentees, cocci

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

Would a link variant like the following be safer for the desired information?

[1]:
[RFC PATCH 00/25] cocci: Improve C parsing of attributes
https://systeme.lip6.fr/pipermail/cocci/2020-April/007205.html
https://lore.kernel.org/cocci/20200424091801.13871-1-jaskaransingh7654321@gmail.com/

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

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

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

Thread overview: 71+ 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
2020-05-30  7:50 [Cocci] [PATCH v3 00/32] cocci: Add cast attributes to C and SmPL ASTs Markus Elfring

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.