All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cocci] [PATCH] Coccinelle: noderef: Add a rule and correct the old rule
@ 2016-04-27 11:41 ` Vaishali Thakkar
  0 siblings, 0 replies; 6+ messages in thread
From: Vaishali Thakkar @ 2016-04-27 11:41 UTC (permalink / raw)
  To: cocci

Add a new rule to detect the cases where sizeof is used as a
subexpression rather than a top level argument.

Also, for the patch mode third rule should behave same as
second rule with arguments reversed. So, change that as well.

Signed-off-by: Vaishali Thakkar <vaishali.thakkar@oracle.com>
---
 scripts/coccinelle/misc/noderef.cocci | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/scripts/coccinelle/misc/noderef.cocci b/scripts/coccinelle/misc/noderef.cocci
index 80a831c..9991ee9 100644
--- a/scripts/coccinelle/misc/noderef.cocci
+++ b/scripts/coccinelle/misc/noderef.cocci
@@ -16,6 +16,7 @@ virtual patch
 @depends on patch@
 expression *x;
 expression f;
+identifier i;
 type T;
 @@
 
@@ -30,7 +31,12 @@ f(...,(T)(x),...,sizeof(
 + *x
    ),...)
 |
-f(...,sizeof(x),...,(T)(
+f(...,sizeof(
+- x
++ *x
+   ),...,(T)(x),...)
+|
+x = f(...,i*sizeof(
 - x
 + *x
    ),...)
@@ -39,6 +45,7 @@ f(...,sizeof(x),...,(T)(
 @r depends on !patch@
 expression *x;
 expression f;
+identifier i;
 position p;
 type T;
 @@
@@ -49,6 +56,8 @@ type T;
 *f(...,(T)(x),...,sizeof at p(x),...)
 |
 *f(...,sizeof at p(x),...,(T)(x),...)
+|
+*x = f(...,i*sizeof at p(x),...)
 )
 
 @script:python depends on org@
-- 
2.1.4

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

end of thread, other threads:[~2016-05-06  4:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-27 11:41 [Cocci] [PATCH] Coccinelle: noderef: Add a rule and correct the old rule Vaishali Thakkar
2016-04-27 11:41 ` Vaishali Thakkar
2016-05-05 20:10 ` [Cocci] " Julia Lawall
2016-05-05 20:10   ` Julia Lawall
2016-05-06  4:47   ` [Cocci] " Vaishali Thakkar
2016-05-06  4:47     ` Vaishali Thakkar

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.