Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753868Ab1FMSYL (ORCPT ); Mon, 13 Jun 2011 14:24:11 -0400 Received: from mta11.charter.net ([216.33.127.80]:50600 "EHLO mta11.charter.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753196Ab1FMSYF (ORCPT ); Mon, 13 Jun 2011 14:24:05 -0400 X-Authority-Analysis: v=1.1 cv=1b2X7W/SifksZeClH/haT1SUt4udqxFGF00pZw2/jJk= c=1 sm=1 a=lNN_8urFzxIA:10 a=lDGNyK2vIvEA:10 a=xzrYXqw+0zwiO4gHSXHcAg==:17 a=xNjWJ0b5AAAA:8 a=5oLI47OupXDfwvyGrYYA:9 a=xzrYXqw+0zwiO4gHSXHcAg==:117 From: Greg Dietsche To: julia@diku.dk Cc: Gilles.Muller@lip6.fr, npalix.work@gmail.com, cocci@diku.dk, linux-kernel@vger.kernel.org, Greg Dietsche Subject: [PATCH v2] coccinelle: if (ret) return ret; return ret; semantic patch Date: Mon, 13 Jun 2011 13:23:06 -0500 Message-Id: <1307989386-17666-1-git-send-email-Gregory.Dietsche@cuw.edu> X-Mailer: git-send-email 1.7.2.5 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1658 Lines: 62 Semantic patch to find code that matches this pattern: if (...) return ret; return ret; Version 2: Incorporate review comments from Julia Lawall Add matches for a number of other similar patterns. Signed-off-by: Greg Dietsche --- scripts/coccinelle/misc/doublereturn.cocci | 34 ++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) create mode 100644 scripts/coccinelle/misc/doublereturn.cocci diff --git a/scripts/coccinelle/misc/doublereturn.cocci b/scripts/coccinelle/misc/doublereturn.cocci new file mode 100644 index 0000000..b41e6f2 --- /dev/null +++ b/scripts/coccinelle/misc/doublereturn.cocci @@ -0,0 +1,34 @@ +// Removing unecessary code that matches this core pattern: +// -if(...) return ret; +// return ret; +// +// Confidence: High +// Copyright: (C) 2011 Greg Dietsche GPLv2. +// URL: http://www.gregd.org +// Comments: +// Options: -no_includes + +virtual patch + +@depends on patch@ +expression ret, operand; +identifier is_ordinal_table ~= "IS_ORDINAL_TABLE_\(ONE\|TWO\)"; +@@ +( +//via an isomorphism this also covers ret and unlikely(ret) +-if (likely(ret)) return ret; +| +-if (IS_ZERO(ret)) return ret; +| +-if (is_ordinal_table(...)) return ret; +| +-if (!ret) return ret; +| +-if (ret > operand) return ret; +| +-if (ret < operand) return ret; +| +-if (ret != operand) return ret; +) +-return ret; ++return ret; -- 1.7.2.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/