From aeb300c1dbfc77b493728f608dd14d6814676546 Mon Sep 17 00:00:00 2001 From: Denis Efremov Date: Wed, 28 Apr 2021 09:03:50 +0300 Subject: coccinelle: misc: minmax: suppress patch generation for err returns There is a standard idiom for "if 'ret' holds an error, return it": return ret < 0 ? ret : 0; Developers prefer to keep the things as they are because stylistic change to "return min(ret, 0);" breaks readability. Let's suppress automatic generation for this type of patches. Signed-off-by: Denis Efremov --- scripts/coccinelle/misc/minmax.cocci | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'scripts/coccinelle') diff --git a/scripts/coccinelle/misc/minmax.cocci b/scripts/coccinelle/misc/minmax.cocci index eccdd3eb3452..fcf908b34f27 100644 --- a/scripts/coccinelle/misc/minmax.cocci +++ b/scripts/coccinelle/misc/minmax.cocci @@ -116,16 +116,32 @@ func(...) ...> } +// Don't generate patches for errcode returns. +@errcode depends on patch@ +position p; +identifier func; +expression x; +binary operator cmp = {<, <=}; +@@ + +func(...) +{ + <... + return ((x) cmp@p 0 ? (x) : 0); + ...> +} + @pmin depends on patch@ identifier func; expression x, y; binary operator cmp = {<=, <}; +position p != errcode.p; @@ func(...) { <... -- ((x) cmp (y) ? (x) : (y)) +- ((x) cmp@p (y) ? (x) : (y)) + min(x, y) ...> } -- cgit v1.2.3