xref: /utopia/UTPA2-700.0.x/projects/build/scripts/coccinelle/api/resource_size.cocci (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi///
2*53ee8cc1Swenshuai.xi/// Use resource_size function on resource object
3*53ee8cc1Swenshuai.xi/// instead of explicit computation.
4*53ee8cc1Swenshuai.xi///
5*53ee8cc1Swenshuai.xi//  Confidence: High
6*53ee8cc1Swenshuai.xi//  Copyright: (C) 2009, 2010 Nicolas Palix, DIKU.  GPLv2.
7*53ee8cc1Swenshuai.xi//  Copyright: (C) 2009, 2010 Julia Lawall, DIKU.  GPLv2.
8*53ee8cc1Swenshuai.xi//  Copyright: (C) 2009, 2010 Gilles Muller, INRIA/LiP6.  GPLv2.
9*53ee8cc1Swenshuai.xi//  URL: http://coccinelle.lip6.fr/
10*53ee8cc1Swenshuai.xi//  Options:
11*53ee8cc1Swenshuai.xi//
12*53ee8cc1Swenshuai.xi//  Keywords: resource_size
13*53ee8cc1Swenshuai.xi//  Version min: 2.6.27 resource_size
14*53ee8cc1Swenshuai.xi//
15*53ee8cc1Swenshuai.xi
16*53ee8cc1Swenshuai.xivirtual context
17*53ee8cc1Swenshuai.xivirtual patch
18*53ee8cc1Swenshuai.xivirtual org
19*53ee8cc1Swenshuai.xivirtual report
20*53ee8cc1Swenshuai.xi
21*53ee8cc1Swenshuai.xi//----------------------------------------------------------
22*53ee8cc1Swenshuai.xi//  For context mode
23*53ee8cc1Swenshuai.xi//----------------------------------------------------------
24*53ee8cc1Swenshuai.xi
25*53ee8cc1Swenshuai.xi@r_context depends on context && !patch && !org@
26*53ee8cc1Swenshuai.xistruct resource *res;
27*53ee8cc1Swenshuai.xi@@
28*53ee8cc1Swenshuai.xi
29*53ee8cc1Swenshuai.xi* (res->end - res->start) + 1
30*53ee8cc1Swenshuai.xi
31*53ee8cc1Swenshuai.xi//----------------------------------------------------------
32*53ee8cc1Swenshuai.xi//  For patch mode
33*53ee8cc1Swenshuai.xi//----------------------------------------------------------
34*53ee8cc1Swenshuai.xi
35*53ee8cc1Swenshuai.xi@r_patch depends on !context && patch && !org@
36*53ee8cc1Swenshuai.xistruct resource *res;
37*53ee8cc1Swenshuai.xi@@
38*53ee8cc1Swenshuai.xi
39*53ee8cc1Swenshuai.xi- (res->end - res->start) + 1
40*53ee8cc1Swenshuai.xi+ resource_size(res)
41*53ee8cc1Swenshuai.xi
42*53ee8cc1Swenshuai.xi//----------------------------------------------------------
43*53ee8cc1Swenshuai.xi//  For org mode
44*53ee8cc1Swenshuai.xi//----------------------------------------------------------
45*53ee8cc1Swenshuai.xi
46*53ee8cc1Swenshuai.xi
47*53ee8cc1Swenshuai.xi@r_org depends on !context && !patch && (org || report)@
48*53ee8cc1Swenshuai.xistruct resource *res;
49*53ee8cc1Swenshuai.xiposition p;
50*53ee8cc1Swenshuai.xi@@
51*53ee8cc1Swenshuai.xi
52*53ee8cc1Swenshuai.xi (res->end@p - res->start) + 1
53*53ee8cc1Swenshuai.xi
54*53ee8cc1Swenshuai.xi@rbad_org depends on !context && !patch && (org || report)@
55*53ee8cc1Swenshuai.xistruct resource *res;
56*53ee8cc1Swenshuai.xiposition p != r_org.p;
57*53ee8cc1Swenshuai.xi@@
58*53ee8cc1Swenshuai.xi
59*53ee8cc1Swenshuai.xi res->end@p - res->start
60*53ee8cc1Swenshuai.xi
61*53ee8cc1Swenshuai.xi@script:python depends on org@
62*53ee8cc1Swenshuai.xip << r_org.p;
63*53ee8cc1Swenshuai.xix << r_org.res;
64*53ee8cc1Swenshuai.xi@@
65*53ee8cc1Swenshuai.xi
66*53ee8cc1Swenshuai.ximsg="ERROR with %s" % (x)
67*53ee8cc1Swenshuai.ximsg_safe=msg.replace("[","@(").replace("]",")")
68*53ee8cc1Swenshuai.xicoccilib.org.print_todo(p[0], msg_safe)
69*53ee8cc1Swenshuai.xi
70*53ee8cc1Swenshuai.xi@script:python depends on report@
71*53ee8cc1Swenshuai.xip << r_org.p;
72*53ee8cc1Swenshuai.xix << r_org.res;
73*53ee8cc1Swenshuai.xi@@
74*53ee8cc1Swenshuai.xi
75*53ee8cc1Swenshuai.ximsg="ERROR: Missing resource_size with %s" % (x)
76*53ee8cc1Swenshuai.xicoccilib.report.print_report(p[0], msg)
77*53ee8cc1Swenshuai.xi
78*53ee8cc1Swenshuai.xi@script:python depends on org@
79*53ee8cc1Swenshuai.xip << rbad_org.p;
80*53ee8cc1Swenshuai.xix << rbad_org.res;
81*53ee8cc1Swenshuai.xi@@
82*53ee8cc1Swenshuai.xi
83*53ee8cc1Swenshuai.ximsg="WARNING with %s" % (x)
84*53ee8cc1Swenshuai.ximsg_safe=msg.replace("[","@(").replace("]",")")
85*53ee8cc1Swenshuai.xicoccilib.org.print_todo(p[0], msg_safe)
86*53ee8cc1Swenshuai.xi
87*53ee8cc1Swenshuai.xi@script:python depends on report@
88*53ee8cc1Swenshuai.xip << rbad_org.p;
89*53ee8cc1Swenshuai.xix << rbad_org.res;
90*53ee8cc1Swenshuai.xi@@
91*53ee8cc1Swenshuai.xi
92*53ee8cc1Swenshuai.ximsg="WARNING: Suspicious code. resource_size is maybe missing with %s" % (x)
93*53ee8cc1Swenshuai.xicoccilib.report.print_report(p[0], msg)
94