Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 347743
b: refs/heads/master
c: ad99ac2
h: refs/heads/master
i:
  347741: 84f8bac
  347739: f8dbf50
  347735: 21857a8
  347727: 465f732
  347711: bac08eb
v: v3
  • Loading branch information
Julia Lawall authored and Michal Marek committed Dec 9, 2012
1 parent b13cf70 commit 8d49cf3
Show file tree
Hide file tree
Showing 2 changed files with 110 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9a52aeeb92853167a67225602b9783f3cf4e578e
refs/heads/master: ad99ac2fa76b4a793ee801920f7501c8df6534d0
109 changes: 109 additions & 0 deletions trunk/scripts/coccinelle/misc/warn.cocci
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
/// Use WARN(1,...) rather than printk followed by WARN_ON(1)
///
// Confidence: High
// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2.
// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2.
// URL: http://coccinelle.lip6.fr/
// Comments:
// Options: -no_includes -include_headers

virtual patch
virtual context
virtual org
virtual report

@bad1@
position p;
@@

printk(...);
printk@p(...);
WARN_ON(1);

@r1 depends on context || report || org@
position p != bad1.p;
@@

printk@p(...);
*WARN_ON(1);

@script:python depends on org@
p << r1.p;
@@
cocci.print_main("printk + WARN_ON can be just WARN",p)
@script:python depends on report@
p << r1.p;
@@
msg = "SUGGESTION: printk + WARN_ON can be just WARN"
coccilib.report.print_report(p[0],msg)
@ok1 depends on patch@
expression list es;
position p != bad1.p;
@@

-printk@p(
+WARN(1,
es);
-WARN_ON(1);

@depends on patch@
expression list ok1.es;
@@

if (...)
- {
WARN(1,es);
- }

// --------------------------------------------------------------------

@bad2@
position p;
@@

printk(...);
printk@p(...);
WARN_ON_ONCE(1);

@r2 depends on context || report || org@
position p != bad1.p;
@@

printk@p(...);
*WARN_ON_ONCE(1);

@script:python depends on org@
p << r2.p;
@@
cocci.print_main("printk + WARN_ON_ONCE can be just WARN_ONCE",p)
@script:python depends on report@
p << r2.p;
@@
msg = "SUGGESTION: printk + WARN_ON_ONCE can be just WARN_ONCE"
coccilib.report.print_report(p[0],msg)
@ok2 depends on patch@
expression list es;
position p != bad2.p;
@@

-printk@p(
+WARN_ONCE(1,
es);
-WARN_ON_ONCE(1);

@depends on patch@
expression list ok2.es;
@@

if (...)
- {
WARN_ONCE(1,es);
- }

0 comments on commit 8d49cf3

Please sign in to comment.