* [Cocci] =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex=20return=20code=20processing?=
@ 2014-08-23 5:34 ` Julia Lawall
0 siblings, 0 replies; 11+ messages in thread
From: Julia Lawall @ 2014-08-23 5:34 UTC (permalink / raw)
To: cocci
From: Julia Lawall <Julia.Lawall@lip6.fr>
This semantic patch simplifies cases where the effect of the processing of
a function call's return code is just to return the result of the function
directly. It may also delete a local return flag variable, if this is no
longer used.
This was proposed by Uwe Kleine-K??nig.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
v2: wrong email address
scripts/coccinelle/misc/simple_return.cocci | 180 ++++++++++++++++++++++++++++
1 file changed, 180 insertions(+)
diff --git a/scripts/coccinelle/misc/simple_return.cocci b/scripts/coccinelle/misc/simple_return.cocci
new file mode 100644
index 0000000..47f7084
--- /dev/null
+++ b/scripts/coccinelle/misc/simple_return.cocci
@@ -0,0 +1,180 @@
+/// Simplify a trivial if-return sequence. Possibly combine with a
+/// preceding function call.
+//
+// Confidence: High
+// Copyright: (C) 2014 Julia Lawall, INRIA/LIP6. GPLv2.
+// Copyright: (C) 2014 Gilles Muller, INRIA/LiP6. GPLv2.
+// URL: http://coccinelle.lip6.fr/
+// Comments:
+// Options: --no-includes --include-headers
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+ at r depends on patch@
+local idexpression e;
+identifier i,f,fn;
+@@
+
+fn(...) { <...
+- e@i =
++ return
+ f(...);
+-if (i != 0) return i;
+-return 0;
+...> }
+
+ at depends on patch@
+identifier r.i;
+type t;
+@@
+
+-t i;
+ ... when != i
+
+ at depends on patch@
+expression e;
+@@
+
+-if (e != 0)
+ return e;
+-return 0;
+
+// -----------------------------------------------------------------------
+
+ at s1 depends on context || org || report@
+local idexpression e;
+identifier i,f,fn;
+position p,p1,p2;
+@@
+
+fn(...) { <...
+* e at i@p = f(...);
+ if (\(i at p1 != 0\|i@p2 < 0\))
+ return i;
+ return 0;
+...> }
+
+ at s2 depends on context || org || report forall@
+identifier s1.i;
+type t;
+position q,s1.p;
+expression e,f;
+@@
+
+* t i at q;
+ ... when != i
+ e at p = f(...);
+
+ at s3 depends on context || org || report@
+expression e;
+position p1!=s1.p1;
+position p2!=s1.p2;
+@@
+
+*if (\(e at p1 != 0\|e at p2 < 0\))
+ return e;
+ return 0;
+
+// -----------------------------------------------------------------------
+
+ at script:python depends on org@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q;
+@@
+
+cocci.print_main("decl",q)
+cocci.print_secs("use",p)
+cocci.include_match(False)
+
+ at script:python depends on org@
+p << s1.p;
+p2 << s1.p2;
+q << s2.q;
+@@
+
+cocci.print_main("decl",q)
+cocci.print_secs("use with questionable test",p)
+cocci.include_match(False)
+
+ at script:python depends on org@
+p << s1.p;
+p1 << s1.p1;
+@@
+
+cocci.print_main("use",p)
+
+ at script:python depends on org@
+p << s1.p;
+p2 << s1.p2;
+@@
+
+cocci.print_main("use with questionable test",p)
+
+ at script:python depends on org@
+p << s3.p1;
+@@
+
+cocci.print_main("test",p)
+
+ at script:python depends on org@
+p << s3.p2;
+@@
+
+cocci.print_main("questionable test",p)
+
+// -----------------------------------------------------------------------
+
+ at script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q;
+@@
+
+msg = "WARNING: end returns can be simpified and declaration on line %s can be dropped" % (q[0].line)
+coccilib.report.print_report(p[0],msg)
+cocci.include_match(False)
+
+ at script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q
+;
+@@
+
+msg = "WARNING: end returns may be simpified if negative or 0 value and declaration on line %s can be dropped" % (q[0].line)
+coccilib.report.print_report(p[0],msg)
+cocci.include_match(False)
+
+ at script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+@@
+
+msg = "WARNING: end returns can be simpified"
+coccilib.report.print_report(p[0],msg)
+
+ at script:python depends on report@
+p << s1.p;
+p2 << s1.p2;
+@@
+
+msg = "WARNING: end returns can be simpified if negative or 0 value"
+coccilib.report.print_report(p[0],msg)
+
+ at script:python depends on report@
+p << s3.p1;
+@@
+
+msg = "WARNING: end returns can be simpified"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s3.p2;
+@@
+
+msg = "WARNING: end returns can be simpified if tested value is negative or 0"
+coccilib.report.print_report(p[0],msg)
^ permalink raw reply related [flat|nested] 11+ messages in thread* =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex=20return=20code=20processing?=
@ 2014-08-23 5:34 ` Julia Lawall
0 siblings, 0 replies; 11+ messages in thread
From: Julia Lawall @ 2014-08-23 5:34 UTC (permalink / raw)
To: mmarek, Gilles.Muller, nicolas.palix, cocci, linux-kernel,
u.kleine-koenig
Cc: kernel-janitors
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 4163 bytes --]
From: Julia Lawall <Julia.Lawall@lip6.fr>
This semantic patch simplifies cases where the effect of the processing of
a function call's return code is just to return the result of the function
directly. It may also delete a local return flag variable, if this is no
longer used.
This was proposed by Uwe Kleine-König.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
v2: wrong email address
scripts/coccinelle/misc/simple_return.cocci | 180 ++++++++++++++++++++++++++++
1 file changed, 180 insertions(+)
diff --git a/scripts/coccinelle/misc/simple_return.cocci b/scripts/coccinelle/misc/simple_return.cocci
new file mode 100644
index 0000000..47f7084
--- /dev/null
+++ b/scripts/coccinelle/misc/simple_return.cocci
@@ -0,0 +1,180 @@
+/// Simplify a trivial if-return sequence. Possibly combine with a
+/// preceding function call.
+//
+// Confidence: High
+// Copyright: (C) 2014 Julia Lawall, INRIA/LIP6. GPLv2.
+// Copyright: (C) 2014 Gilles Muller, INRIA/LiP6. GPLv2.
+// URL: http://coccinelle.lip6.fr/
+// Comments:
+// Options: --no-includes --include-headers
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+@r depends on patch@
+local idexpression e;
+identifier i,f,fn;
+@@
+
+fn(...) { <...
+- e@i =
++ return
+ f(...);
+-if (i != 0) return i;
+-return 0;
+...> }
+
+@depends on patch@
+identifier r.i;
+type t;
+@@
+
+-t i;
+ ... when != i
+
+@depends on patch@
+expression e;
+@@
+
+-if (e != 0)
+ return e;
+-return 0;
+
+// -----------------------------------------------------------------------
+
+@s1 depends on context || org || report@
+local idexpression e;
+identifier i,f,fn;
+position p,p1,p2;
+@@
+
+fn(...) { <...
+* e@i@p = f(...);
+ if (\(i@p1 != 0\|i@p2 < 0\))
+ return i;
+ return 0;
+...> }
+
+@s2 depends on context || org || report forall@
+identifier s1.i;
+type t;
+position q,s1.p;
+expression e,f;
+@@
+
+* t i@q;
+ ... when != i
+ e@p = f(...);
+
+@s3 depends on context || org || report@
+expression e;
+position p1!=s1.p1;
+position p2!=s1.p2;
+@@
+
+*if (\(e@p1 != 0\|e@p2 < 0\))
+ return e;
+ return 0;
+
+// -----------------------------------------------------------------------
+
+@script:python depends on org@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q;
+@@
+
+cocci.print_main("decl",q)
+cocci.print_secs("use",p)
+cocci.include_match(False)
+
+@script:python depends on org@
+p << s1.p;
+p2 << s1.p2;
+q << s2.q;
+@@
+
+cocci.print_main("decl",q)
+cocci.print_secs("use with questionable test",p)
+cocci.include_match(False)
+
+@script:python depends on org@
+p << s1.p;
+p1 << s1.p1;
+@@
+
+cocci.print_main("use",p)
+
+@script:python depends on org@
+p << s1.p;
+p2 << s1.p2;
+@@
+
+cocci.print_main("use with questionable test",p)
+
+@script:python depends on org@
+p << s3.p1;
+@@
+
+cocci.print_main("test",p)
+
+@script:python depends on org@
+p << s3.p2;
+@@
+
+cocci.print_main("questionable test",p)
+
+// -----------------------------------------------------------------------
+
+@script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q;
+@@
+
+msg = "WARNING: end returns can be simpified and declaration on line %s can be dropped" % (q[0].line)
+coccilib.report.print_report(p[0],msg)
+cocci.include_match(False)
+
+@script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q
+;
+@@
+
+msg = "WARNING: end returns may be simpified if negative or 0 value and declaration on line %s can be dropped" % (q[0].line)
+coccilib.report.print_report(p[0],msg)
+cocci.include_match(False)
+
+@script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+@@
+
+msg = "WARNING: end returns can be simpified"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s1.p;
+p2 << s1.p2;
+@@
+
+msg = "WARNING: end returns can be simpified if negative or 0 value"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s3.p1;
+@@
+
+msg = "WARNING: end returns can be simpified"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s3.p2;
+@@
+
+msg = "WARNING: end returns can be simpified if tested value is negative or 0"
+coccilib.report.print_report(p[0],msg)
^ permalink raw reply related [flat|nested] 11+ messages in thread* =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex
@ 2014-08-23 5:34 ` Julia Lawall
0 siblings, 0 replies; 11+ messages in thread
From: Julia Lawall @ 2014-08-23 5:34 UTC (permalink / raw)
To: cocci
From: Julia Lawall <Julia.Lawall@lip6.fr>
This semantic patch simplifies cases where the effect of the processing of
a function call's return code is just to return the result of the function
directly. It may also delete a local return flag variable, if this is no
longer used.
This was proposed by Uwe Kleine-König.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
v2: wrong email address
scripts/coccinelle/misc/simple_return.cocci | 180 ++++++++++++++++++++++++++++
1 file changed, 180 insertions(+)
diff --git a/scripts/coccinelle/misc/simple_return.cocci b/scripts/coccinelle/misc/simple_return.cocci
new file mode 100644
index 0000000..47f7084
--- /dev/null
+++ b/scripts/coccinelle/misc/simple_return.cocci
@@ -0,0 +1,180 @@
+/// Simplify a trivial if-return sequence. Possibly combine with a
+/// preceding function call.
+//
+// Confidence: High
+// Copyright: (C) 2014 Julia Lawall, INRIA/LIP6. GPLv2.
+// Copyright: (C) 2014 Gilles Muller, INRIA/LiP6. GPLv2.
+// URL: http://coccinelle.lip6.fr/
+// Comments:
+// Options: --no-includes --include-headers
+
+virtual patch
+virtual context
+virtual org
+virtual report
+
+@r depends on patch@
+local idexpression e;
+identifier i,f,fn;
+@@
+
+fn(...) { <...
+- e@i ++ return
+ f(...);
+-if (i != 0) return i;
+-return 0;
+...> }
+
+@depends on patch@
+identifier r.i;
+type t;
+@@
+
+-t i;
+ ... when != i
+
+@depends on patch@
+expression e;
+@@
+
+-if (e != 0)
+ return e;
+-return 0;
+
+// -----------------------------------------------------------------------
+
+@s1 depends on context || org || report@
+local idexpression e;
+identifier i,f,fn;
+position p,p1,p2;
+@@
+
+fn(...) { <...
+* e@i@p = f(...);
+ if (\(i@p1 != 0\|i@p2 < 0\))
+ return i;
+ return 0;
+...> }
+
+@s2 depends on context || org || report forall@
+identifier s1.i;
+type t;
+position q,s1.p;
+expression e,f;
+@@
+
+* t i@q;
+ ... when != i
+ e@p = f(...);
+
+@s3 depends on context || org || report@
+expression e;
+position p1!=s1.p1;
+position p2!=s1.p2;
+@@
+
+*if (\(e@p1 != 0\|e@p2 < 0\))
+ return e;
+ return 0;
+
+// -----------------------------------------------------------------------
+
+@script:python depends on org@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q;
+@@
+
+cocci.print_main("decl",q)
+cocci.print_secs("use",p)
+cocci.include_match(False)
+
+@script:python depends on org@
+p << s1.p;
+p2 << s1.p2;
+q << s2.q;
+@@
+
+cocci.print_main("decl",q)
+cocci.print_secs("use with questionable test",p)
+cocci.include_match(False)
+
+@script:python depends on org@
+p << s1.p;
+p1 << s1.p1;
+@@
+
+cocci.print_main("use",p)
+
+@script:python depends on org@
+p << s1.p;
+p2 << s1.p2;
+@@
+
+cocci.print_main("use with questionable test",p)
+
+@script:python depends on org@
+p << s3.p1;
+@@
+
+cocci.print_main("test",p)
+
+@script:python depends on org@
+p << s3.p2;
+@@
+
+cocci.print_main("questionable test",p)
+
+// -----------------------------------------------------------------------
+
+@script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q;
+@@
+
+msg = "WARNING: end returns can be simpified and declaration on line %s can be dropped" % (q[0].line)
+coccilib.report.print_report(p[0],msg)
+cocci.include_match(False)
+
+@script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+q << s2.q
+;
+@@
+
+msg = "WARNING: end returns may be simpified if negative or 0 value and declaration on line %s can be dropped" % (q[0].line)
+coccilib.report.print_report(p[0],msg)
+cocci.include_match(False)
+
+@script:python depends on report@
+p << s1.p;
+p1 << s1.p1;
+@@
+
+msg = "WARNING: end returns can be simpified"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s1.p;
+p2 << s1.p2;
+@@
+
+msg = "WARNING: end returns can be simpified if negative or 0 value"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s3.p1;
+@@
+
+msg = "WARNING: end returns can be simpified"
+coccilib.report.print_report(p[0],msg)
+
+@script:python depends on report@
+p << s3.p2;
+@@
+
+msg = "WARNING: end returns can be simpified if tested value is negative or 0"
+coccilib.report.print_report(p[0],msg)
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Cocci] Clarification for dependencies in SmPL rules
2014-08-23 5:34 ` =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex Julia Lawall
(?)
(?)
@ 2014-08-24 12:41 ` SF Markus Elfring
2014-08-24 12:51 ` Julia Lawall
-1 siblings, 1 reply; 11+ messages in thread
From: SF Markus Elfring @ 2014-08-24 12:41 UTC (permalink / raw)
To: cocci
> + at depends on patch@
> +identifier r.i;
> +type t;
> +@@
Would the specification "@variable_deletion depends on r@" be useful for such a
semantic patch rule?
Regards,
Markus
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Cocci] Clarification for dependencies in SmPL rules
2014-08-24 12:41 ` [Cocci] Clarification for dependencies in SmPL rules SF Markus Elfring
@ 2014-08-24 12:51 ` Julia Lawall
2014-08-24 13:00 ` SF Markus Elfring
0 siblings, 1 reply; 11+ messages in thread
From: Julia Lawall @ 2014-08-24 12:51 UTC (permalink / raw)
To: cocci
On Sun, 24 Aug 2014, SF Markus Elfring wrote:
> > + at depends on patch@
> > +identifier r.i;
> > +type t;
> > +@@
>
> Would the specification "@variable_deletion depends on r@" be useful for such a
> semantic patch rule?
Maybe it would be more efficient. But conceptually it is redundant.
julia
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Cocci] Clarification for dependencies in SmPL rules
2014-08-24 12:51 ` Julia Lawall
@ 2014-08-24 13:00 ` SF Markus Elfring
2014-08-24 13:19 ` Julia Lawall
0 siblings, 1 reply; 11+ messages in thread
From: SF Markus Elfring @ 2014-08-24 13:00 UTC (permalink / raw)
To: cocci
> Maybe it would be more efficient. But conceptually it is redundant.
Thanks for your feedback.
I would find it a bit clearer or safer to use a SmPL variable like "r.i" only if
a corresponding dependency was specified on the rule beginning.
Regards,
Markus
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Cocci] Clarification for dependencies in SmPL rules
2014-08-24 13:00 ` SF Markus Elfring
@ 2014-08-24 13:19 ` Julia Lawall
2014-08-24 13:30 ` SF Markus Elfring
0 siblings, 1 reply; 11+ messages in thread
From: Julia Lawall @ 2014-08-24 13:19 UTC (permalink / raw)
To: cocci
On Sun, 24 Aug 2014, SF Markus Elfring wrote:
> > Maybe it would be more efficient. But conceptually it is redundant.
>
> Thanks for your feedback.
>
> I would find it a bit clearer or safer to use a SmPL variable like "r.i" only if
> a corresponding dependency was specified on the rule beginning.
You are most welcome to do whatever you want.
On the other hand, the dependency is not always necessary, for example in
the following case:
@@
expression r.e;
@@
(
- f(e);
|
- f(0);
)
Then the rule can do something without the dependency being satisfied.
julia
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Cocci] Clarification for dependencies in SmPL rules
2014-08-24 13:19 ` Julia Lawall
@ 2014-08-24 13:30 ` SF Markus Elfring
0 siblings, 0 replies; 11+ messages in thread
From: SF Markus Elfring @ 2014-08-24 13:30 UTC (permalink / raw)
To: cocci
> On the other hand, the dependency is not always necessary, for example in
> the following case:
>
> @@
> expression r.e;
> @@
It seems that you designed the semantic patch language in the way that a
dependency will implicitly created because of a SmPL variable like "r.e".
I wonder if it would help eventually to mention such dependencies explicitly
between the "@" characters.
Regards,
Markus
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Cocci] [PATCH v2] coccinelle: misc: semantic patch to delete overly complex return code processing
2014-08-23 5:34 ` =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex Julia Lawall
(?)
@ 2014-09-26 11:43 ` Michal Marek
-1 siblings, 0 replies; 11+ messages in thread
From: Michal Marek @ 2014-09-26 11:43 UTC (permalink / raw)
To: cocci
On Sat, Aug 23, 2014 at 07:34:45AM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> This semantic patch simplifies cases where the effect of the processing of
> a function call's return code is just to return the result of the function
> directly. It may also delete a local return flag variable, if this is no
> longer used.
>
> This was proposed by Uwe Kleine-K?nig.
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied to kbuild.git#misc, thanks.
Michal
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] coccinelle: misc: semantic patch to delete overly complex return code processing
@ 2014-09-26 11:43 ` Michal Marek
0 siblings, 0 replies; 11+ messages in thread
From: Michal Marek @ 2014-09-26 11:43 UTC (permalink / raw)
To: Julia Lawall
Cc: Gilles.Muller, nicolas.palix, cocci, linux-kernel,
u.kleine-koenig, kernel-janitors
On Sat, Aug 23, 2014 at 07:34:45AM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> This semantic patch simplifies cases where the effect of the processing of
> a function call's return code is just to return the result of the function
> directly. It may also delete a local return flag variable, if this is no
> longer used.
>
> This was proposed by Uwe Kleine-König.
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied to kbuild.git#misc, thanks.
Michal
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2] coccinelle: misc: semantic patch to delete overly complex return code processing
@ 2014-09-26 11:43 ` Michal Marek
0 siblings, 0 replies; 11+ messages in thread
From: Michal Marek @ 2014-09-26 11:43 UTC (permalink / raw)
To: cocci
On Sat, Aug 23, 2014 at 07:34:45AM +0200, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> This semantic patch simplifies cases where the effect of the processing of
> a function call's return code is just to return the result of the function
> directly. It may also delete a local return flag variable, if this is no
> longer used.
>
> This was proposed by Uwe Kleine-König.
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Applied to kbuild.git#misc, thanks.
Michal
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-09-26 11:43 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-23 5:34 [Cocci] =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex=20return=20code=20processing?= Julia Lawall
2014-08-23 5:34 ` =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex=20return=20code=20processing?= Julia Lawall
2014-08-23 5:34 ` =?y?q?=5BPATCH=20v2=5D=20coccinelle=3A=20misc=3A=20semantic=20patch=20to=20delete=20overly=20complex Julia Lawall
2014-08-24 12:41 ` [Cocci] Clarification for dependencies in SmPL rules SF Markus Elfring
2014-08-24 12:51 ` Julia Lawall
2014-08-24 13:00 ` SF Markus Elfring
2014-08-24 13:19 ` Julia Lawall
2014-08-24 13:30 ` SF Markus Elfring
2014-09-26 11:43 ` [Cocci] [PATCH v2] coccinelle: misc: semantic patch to delete overly complex return code processing Michal Marek
2014-09-26 11:43 ` Michal Marek
2014-09-26 11:43 ` Michal Marek
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.