1*42e22086SApple OSS Distributions// To apply, at the top of xnu.git: 2*42e22086SApple OSS Distributions// $ spatch --max-width=120 --use-gitgrep --in-place --include-headers --sp-file tools/cocci/os_atomic_normalize.cocci -dir . 3*42e22086SApple OSS Distributions// 4*42e22086SApple OSS Distributions// coccinelle insists on adding a space for (void) casts which can be fixed with: 5*42e22086SApple OSS Distributions// $ git grep -l '(void) os_atomic' | xargs -n1 sed -i '' -e 's/(void) os_atomic/(void)os_atomic/' 6*42e22086SApple OSS Distributions 7*42e22086SApple OSS Distributions@os_atomic@ 8*42e22086SApple OSS Distributionsidentifier fn =~ "^os_atomic"; 9*42e22086SApple OSS Distributions@@ 10*42e22086SApple OSS Distributions 11*42e22086SApple OSS Distributionsfn 12*42e22086SApple OSS Distributions 13*42e22086SApple OSS Distributions@script:ocaml unorig@ 14*42e22086SApple OSS Distributionsfn << os_atomic.fn; 15*42e22086SApple OSS Distributionsnew_fn; 16*42e22086SApple OSS Distributions@@ 17*42e22086SApple OSS Distributions 18*42e22086SApple OSS Distributionsnew_fn := make_ident (Str.global_replace (Str.regexp "_orig") "" fn) 19*42e22086SApple OSS Distributions 20*42e22086SApple OSS Distributions@@ 21*42e22086SApple OSS Distributionsidentifier os_atomic.fn; 22*42e22086SApple OSS Distributionsidentifier unorig.new_fn; 23*42e22086SApple OSS Distributionsexpression A, B, C; 24*42e22086SApple OSS Distributions@@ 25*42e22086SApple OSS Distributions 26*42e22086SApple OSS Distributions-(void)fn 27*42e22086SApple OSS Distributions+new_fn 28*42e22086SApple OSS Distributions (...) 29*42e22086SApple OSS Distributions 30*42e22086SApple OSS Distributions@@ expression E, F, m; @@ 31*42e22086SApple OSS Distributions 32*42e22086SApple OSS Distributions( 33*42e22086SApple OSS Distributions- os_atomic_add(E, 1, m) 34*42e22086SApple OSS Distributions+ os_atomic_inc(E, m) 35*42e22086SApple OSS Distributions| 36*42e22086SApple OSS Distributions- os_atomic_add_orig(E, 1, m) 37*42e22086SApple OSS Distributions+ os_atomic_inc_orig(E, m) 38*42e22086SApple OSS Distributions| 39*42e22086SApple OSS Distributions- os_atomic_sub(E, -1, m) 40*42e22086SApple OSS Distributions+ os_atomic_inc(E, m) 41*42e22086SApple OSS Distributions| 42*42e22086SApple OSS Distributions- os_atomic_sub_orig(E, -1, m) 43*42e22086SApple OSS Distributions+ os_atomic_inc_orig(E, m) 44*42e22086SApple OSS Distributions| 45*42e22086SApple OSS Distributions- os_atomic_add(E, -1, m) 46*42e22086SApple OSS Distributions+ os_atomic_dec(E, m) 47*42e22086SApple OSS Distributions| 48*42e22086SApple OSS Distributions- os_atomic_add_orig(E, -1, m) 49*42e22086SApple OSS Distributions+ os_atomic_dec_orig(E, m) 50*42e22086SApple OSS Distributions| 51*42e22086SApple OSS Distributions- os_atomic_sub(E, 1, m) 52*42e22086SApple OSS Distributions+ os_atomic_dec(E, m) 53*42e22086SApple OSS Distributions| 54*42e22086SApple OSS Distributions- os_atomic_sub_orig(E, 1, m) 55*42e22086SApple OSS Distributions+ os_atomic_dec_orig(E, m) 56*42e22086SApple OSS Distributions| 57*42e22086SApple OSS Distributions- os_atomic_add(E, -(F), m) 58*42e22086SApple OSS Distributions+ os_atomic_sub(E, F, m) 59*42e22086SApple OSS Distributions| 60*42e22086SApple OSS Distributions- os_atomic_add_orig(E, -(F), m) 61*42e22086SApple OSS Distributions+ os_atomic_sub_orig(E, F, m) 62*42e22086SApple OSS Distributions| 63*42e22086SApple OSS Distributions- os_atomic_add(E, -F, m) 64*42e22086SApple OSS Distributions+ os_atomic_sub(E, F, m) 65*42e22086SApple OSS Distributions| 66*42e22086SApple OSS Distributions- os_atomic_add_orig(E, -F, m) 67*42e22086SApple OSS Distributions+ os_atomic_sub_orig(E, F, m) 68*42e22086SApple OSS Distributions| 69*42e22086SApple OSS Distributions- os_atomic_sub(E, -(F), m) 70*42e22086SApple OSS Distributions+ os_atomic_add(E, F, m) 71*42e22086SApple OSS Distributions| 72*42e22086SApple OSS Distributions- os_atomic_sub_orig(E, -(F), m) 73*42e22086SApple OSS Distributions+ os_atomic_add_orig(E, F, m) 74*42e22086SApple OSS Distributions| 75*42e22086SApple OSS Distributions- os_atomic_sub(E, -F, m) 76*42e22086SApple OSS Distributions+ os_atomic_add(E, F, m) 77*42e22086SApple OSS Distributions| 78*42e22086SApple OSS Distributions- os_atomic_sub_orig(E, -F, m) 79*42e22086SApple OSS Distributions+ os_atomic_add_orig(E, F, m) 80*42e22086SApple OSS Distributions| 81*42e22086SApple OSS Distributions- os_atomic_and(E, ~(F), m) 82*42e22086SApple OSS Distributions+ os_atomic_andnot(E, F, m) 83*42e22086SApple OSS Distributions| 84*42e22086SApple OSS Distributions- os_atomic_and_orig(E, ~(F), m) 85*42e22086SApple OSS Distributions+ os_atomic_andnot_orig(E, F, m) 86*42e22086SApple OSS Distributions| 87*42e22086SApple OSS Distributions- os_atomic_and(E, ~F, m) 88*42e22086SApple OSS Distributions+ os_atomic_andnot(E, F, m) 89*42e22086SApple OSS Distributions| 90*42e22086SApple OSS Distributions- os_atomic_and_orig(E, ~F, m) 91*42e22086SApple OSS Distributions+ os_atomic_andnot_orig(E, F, m) 92*42e22086SApple OSS Distributions) 93*42e22086SApple OSS Distributions 94*42e22086SApple OSS Distributions// vim:ft=diff: 95