From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932505AbbIYPvS (ORCPT ); Fri, 25 Sep 2015 11:51:18 -0400 Received: from mout.web.de ([212.227.15.4]:58960 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756518AbbIYPvP (ORCPT ); Fri, 25 Sep 2015 11:51:15 -0400 Subject: Re: [PATCH] coccinelle: assign signed result to unsigned variable To: Andrzej Hajda References: <1443099286-16559-1-git-send-email-a.hajda@samsung.com> <56041BE5.5010005@users.sourceforge.net> <56051D2B.5040802@samsung.com> Cc: Bartlomiej Zolnierkiewicz , Gilles Muller , Marek Szyprowski , Michal Marek , Nicolas Palix , kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, cocci@systeme.lip6.fr From: SF Markus Elfring X-Enigmail-Draft-Status: N1110 Message-ID: <56056D65.7070205@users.sourceforge.net> Date: Fri, 25 Sep 2015 17:51:01 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <56051D2B.5040802@samsung.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:Q3oYotTqZ58uktTBri+rVW0cgp4xkImZBZgJl5+jKKqCR5QHfuU gEUfckhwm+R+mkJ05Dbx2gAzanDtIDOegGi5WmlPJmLPwWce88lvmSUSvVegCFVUumwZsRl 65IN/RS6qJVVTntekcOcmjHdzNbIXJ31kL7vcJZGtSJ/Xixa8A1peueueO1jWhYCa6z4PNq RaXhjycic80fob9aDXmUA== X-UI-Out-Filterresults: notjunk:1;V01:K0:7ZEKeropl9U=:VdaA8NUpNKsdqXbWOptvQ4 HG9vQ4MNCJVoBvwNN/nqVQC8TUMrVSzPWBL5F4+PGpbABPvy+sKehevLjtjCozVqnwHAAERVX 0qLb8oAd6ppqbFCzNFeZuFLR9tD2Jw5qcZfaf7xw41tXM6g429AS6SRIomk4rtanI9UPA7ST1 K2/MO/Z8zJNUXv0hpjk3g47fWmLG+yh4TcNq8Ldznh3AlKZ5/WUrr3hrN7MVf/xhJR2SbbgZ0 9sucAUC8gb+JDDjjASdqfMQ72cPNVa3ov2mzuvJnleuGu1Inhbj2FUkWnuS40DTRG7ZFjDO4z AXF3CCPGH3H6I0jEkM9t3WDtSnj28cg4bT8zaQN13zAAhQBhcnLJTwfoYxv7W4VaLpgFAZ2Ax aEgsVLsF2hRa2QHeFBa1rxasGndx565ZHcO/wXB/nWkUwK1eCwng41aaZKh6d7Weo0LsJFnrC oqj3BZeZNjD9oyp6bsFhH9lCNcPjJ1FbfJV0yWeueLMyqh9bYOV6HwH4VrpkpvqeTxsblikcZ DCSzNTTspjpWULIvaZ1aIG+usihWb7pQH1s2kx1VnblT+/1n4NaxawmiICUWAvxbtB9RKnkoU ZLUuy2q/YLybiw+bB9IK2bGTxPLCvTZ9FweibjuRUEqK7G9SPJSBl92OPtHnDpsSSq/SOuxgZ 8Vh7uPh7zpUca8KCGythP77j+dopS9swlqku1pQE7hiu34YtnievZVsC/mFf+N/cfLqbo8XAU XPJQz4a8PmUpLQQFzzXfXi/rMcyeZiKWyRMLAw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >>> +@rs@ >>> +position p; >>> +typedef bool, u8, u16, u32, u64, s8, s16, s32, s64; >>> +{char, short int, int, long, long long, s8, s16, s32, s64} vs; >> Can it matter to specify also the type modifier "signed" in this SmPL approach? >> http://coccinelle.lip6.fr/docs/main_grammar005.html#ctype_qualif > According to my tests it does not matter. > Btw I should replace short int, with short, I have got an other view on such an implementation detail around explicit SmPL specifications. > to allow catch short intergers. Do you assume that the Coccinelle software will handle more data type variants for you automatically? >>> +@@ >>> + >>> +vu@p = vs >>> + >>> +@r@ >>> +position rs.p; >>> +identifier v, f; >>> +statement S1, S2; >>> +expression e; >>> +@@ >>> + >>> +*v@p = f(...); >> Do you try to check here if the value receiver is at the same source code >> position from the SmPL rule "rs"? > Yes. I imagine that there is an open issue in this SmPL approach then. How should a return value from a function call and a variable access work at the same place? > Is there better way to do it? Do you need to distinguish source code positions a bit more with corresponding SmPL variables? Regards, Markus