From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-we0-f179.google.com (mail-we0-f179.google.com [74.125.82.179]) by dpdk.org (Postfix) with ESMTP id 5E741ADAA for ; Tue, 24 Feb 2015 13:36:05 +0100 (CET) Received: by wesx3 with SMTP id x3so24842004wes.7 for ; Tue, 24 Feb 2015 04:36:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=YwhqArsTCUm1AN+s3oXEhBuom5SRK4KT1jh4pIboZ54=; b=mb3/DjxKrru+6sOTcezjE1XJzvIAv4iQbdRSVNXc159luNwV479ZJywFA6BrsNePi0 f4mglW8Cvwgz+Ka18bAc4TwigqGiwIFw9X8KRzMcMZKtEUJFaUPdaHyh7AHiugkZz1IG xB0gsc/sHsWuYjeCkXCU9TUiXMoiVXKUTXCN1ekfdwrZNH/RoXj1+zsCZDuX3tWio0hb 5Zz9ku+Z+0A5PbakbiR+2q4VCBwgELjXN0bjF9hvaxWZDpTRzL07HL5QfG+lX4PnzpJh E8suqVZBaFezIDTdgS7IrHmJdNIytdK7STuJVM+/DrI0o9F/QLW6C6TJLmPwqOHV9DOk +3iw== X-Gm-Message-State: ALoCoQlB3u6pYkFqe/wAJV8lN3df27qX3YOdZhCdpBtFD1d6WcxPV/bskwNoAIGLQCuvbAMLqEQt X-Received: by 10.180.80.9 with SMTP id n9mr29994933wix.34.1424781365232; Tue, 24 Feb 2015 04:36:05 -0800 (PST) Received: from [10.16.0.195] (6wind.net2.nerim.net. [213.41.180.237]) by mx.google.com with ESMTPSA id uo6sm60057682wjc.49.2015.02.24.04.36.04 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Feb 2015 04:36:04 -0800 (PST) Message-ID: <54EC7034.1030806@6wind.com> Date: Tue, 24 Feb 2015 13:36:04 +0100 From: Olivier MATZ User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.2.0 MIME-Version: 1.0 To: "Wodkowski, PawelX" , "dev@dpdk.org" References: <1424700600-1765-1-git-send-email-pawelx.wodkowski@intel.com> <1424700600-1765-2-git-send-email-pawelx.wodkowski@intel.com> <54EC54C5.2060002@6wind.com> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 1/5] rte_timer: fix invalid declaration of rte_timer_cb_t X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 12:36:05 -0000 Hi Pawel, On 02/24/2015 12:12 PM, Wodkowski, PawelX wrote: > > >> -----Original Message----- >> From: Olivier MATZ [mailto:olivier.matz@6wind.com] >> Sent: Tuesday, February 24, 2015 11:39 AM >> To: Wodkowski, PawelX; dev@dpdk.org >> Subject: Re: [dpdk-dev] [PATCH 1/5] rte_timer: fix invalid declaration of >> rte_timer_cb_t >> >> Hi Pawel, >> >> On 02/23/2015 03:09 PM, Pawel Wodkowski wrote: >>> Declaration for function pointer should be >>> typedef ret_type (*type_name)(args...) >>> not >>> typedef ret_type (type_name)(args...) >>> >>> although compiler treat both of them the same, the static analysis tool >>> like klocwork complain about that. >> >> Can you give some details about the reason why klocwork is >> complaining? >> >> Looking at the C11 standard, it seems that this syntax is >> legal. Please see EXAMPLE 4, page 156 of: >> http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1570.pdf >> > > Legal, might be. Problem is in using it. In struct rte_timer field 'f' if > declared as pointer to rte_timer_cb_t but __rte_timer_reset() expects > rte_timer_cb_t. This have a little impact to real code but it is inconsistent > with declaration, definition and rest of the library where first syntax is used. > There are some places where second declaration is used but its usage there > is consistent with declaration. > > I looked at the code in rest of library and for consistency I changed > typedef rather than function declaration. OK, got it. The problem was not the declaration itself but the inconsistency between the function arguments and the rte_timer structure. If you plan to do a v2 (maybe for patch 5/5), do you think you can reword the commit log and title to clarify this a bit more? Thanks, Olivier