Skip to content

Commit

Permalink
Coccinelle: Add iterators/fen.cocci
Browse files Browse the repository at this point in the history
for_each_node iterators only exit normally when the loop cursor is
NULL, so there is no point to call of_node_put on the final value.

Signed-off-by: Nicolas Palix <npalix@diku.dk>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
  • Loading branch information
Nicolas Palix authored and Michal Marek committed Aug 31, 2010
1 parent 54c0562 commit 4045159
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions scripts/coccinelle/iterators/fen.cocci
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/// These iterators only exit normally when the loop cursor is NULL, so there
/// is no point to call of_node_put on the final value.
///
// Confidence: High
// Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
// Copyright: (C) 2010 Julia Lawall, DIKU. GPLv2.
// Copyright: (C) 2010 Gilles Muller, INRIA/LiP6. GPLv2.
// URL: http://coccinelle.lip6.fr/
// Comments:
// Options: -no_includes -include_headers

virtual patch

@@
iterator name for_each_node_by_name;
expression np,E;
identifier l;
@@

for_each_node_by_name(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);

@@
iterator name for_each_node_by_type;
expression np,E;
identifier l;
@@

for_each_node_by_type(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);

@@
iterator name for_each_compatible_node;
expression np,E;
identifier l;
@@

for_each_compatible_node(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);

@@
iterator name for_each_matching_node;
expression np,E;
identifier l;
@@

for_each_matching_node(np,...) {
... when != break;
when != goto l;
}
... when != np = E
- of_node_put(np);

0 comments on commit 4045159

Please sign in to comment.