|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /lib/modules/4.4.0-141-generic/build/scripts/coccinelle/misc/ |
Upload File : |
/// Move constants to the right of binary operators.
//# Depends on personal taste in some cases.
///
// Confidence: Moderate
// Copyright: (C) 2015 Copyright: (C) 2015 Julia Lawall, Inria. GPLv2.
// URL: http://coccinelle.lip6.fr/
// Options: --no-includes --include-headers
virtual patch
virtual context
virtual org
virtual report
@r1 depends on patch && !context && !org && !report
disable bitor_comm, neg_if_exp@
constant c,c1;
local idexpression i;
expression e,e1,e2;
binary operator b = {==,!=,&,|};
type t;
@@
(
c b (c1)
|
sizeof(t) b e1
|
sizeof e b e1
|
i b e1
|
c | e1 | e2 | ...
|
c | (e ? e1 : e2)
|
- c
+ e
b
- e
+ c
)
@r2 depends on patch && !context && !org && !report
disable gtr_lss, gtr_lss_eq, not_int2@
constant c,c1;
expression e,e1,e2;
binary operator b;
binary operator b1 = {<,<=},b2 = {<,<=};
binary operator b3 = {>,>=},b4 = {>,>=};
local idexpression i;
type t;
@@
(
c b c1
|
sizeof(t) b e1
|
sizeof e b e1
|
(e1 b1 e) && (e b2 e2)
|
(e1 b3 e) && (e b4 e2)
|
i b e
|
- c < e
+ e > c
|
- c <= e
+ e >= c
|
- c > e
+ e < c
|
- c >= e
+ e <= c
)
// ----------------------------------------------------------------------------
@r1_context depends on !patch && (context || org || report)
disable bitor_comm, neg_if_exp exists@
type t;
binary operator b = {==,!=,&,|};
constant c, c1;
expression e, e1, e2;
local idexpression i;
position j0;
@@
(
c b (c1)
|
sizeof(t) b e1
|
sizeof e b e1
|
i b e1
|
c | e1 | e2 | ...
|
c | (e ? e1 : e2)
|
* c@j0 b e
)
@r2_context depends on !patch && (context || org || report)
disable gtr_lss, gtr_lss_eq, not_int2 exists@
type t;
binary operator b, b1 = {<,<=}, b2 = {<,<=}, b3 = {>,>=}, b4 = {>,>=};
constant c, c1;
expression e, e1, e2;
local idexpression i;
position j0;
@@
(
c b c1
|
sizeof(t) b e1
|
sizeof e b e1
|
(e1 b1 e) && (e b2 e2)
|
(e1 b3 e) && (e b4 e2)
|
i b e
|
* c@j0 < e
|
* c@j0 <= e
|
* c@j0 > e
|
* c@j0 >= e
)
// ----------------------------------------------------------------------------
@script:python r1_org depends on org@
j0 << r1_context.j0;
@@
msg = "Move constant to right."
coccilib.org.print_todo(j0[0], msg)
@script:python r2_org depends on org@
j0 << r2_context.j0;
@@
msg = "Move constant to right."
coccilib.org.print_todo(j0[0], msg)
// ----------------------------------------------------------------------------
@script:python r1_report depends on report@
j0 << r1_context.j0;
@@
msg = "Move constant to right."
coccilib.report.print_report(j0[0], msg)
@script:python r2_report depends on report@
j0 << r2_context.j0;
@@
msg = "Move constant to right."
coccilib.report.print_report(j0[0], msg)