From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f44.google.com (mail-wm0-f44.google.com [74.125.82.44]) by dpdk.org (Postfix) with ESMTP id CA11B3772 for ; Tue, 10 Nov 2015 17:08:27 +0100 (CET) Received: by wmww144 with SMTP id w144so7113233wmw.0 for ; Tue, 10 Nov 2015 08:08:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind_com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to; bh=KRkBR9eewSMmqNoR+//BnVXd8eyciZgqdU7uGKZjtJI=; b=xYs9RwFq6n+khVtVe7IYbOTOU+2pwatPNBYVioaoLjteBWoTStL9p5151lJF/AvR1q eSXliWBN2jwTuwMEoEFR/qmXNQB7ylyfbok3c/C4qJs+YCYbc3eIqVU+7yX92XP001di LJjR6Tu3FijCcFKHhwLg3ubhf0SemOIKp5sVD+KrJxSh+bK3Uy77GT41gXLyrZ2/nAL3 TR+9wuXLabv4Lp7DjHM0+w2rTQoJTcl7FePLFeVD18+p1p1TWREce6qOVQfOe6b0KRys 8wzCT6pC1Ab/mK+MfhVbohw8q5yabzqYGNXuwsnqVh1fj4KFplxPZmuxpWteCDnk1/i0 rMcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id :mail-followup-to:references:mime-version:content-type :content-disposition:in-reply-to; bh=KRkBR9eewSMmqNoR+//BnVXd8eyciZgqdU7uGKZjtJI=; b=eBgFvxvg7huLUSh2RiJQr30PwWmOwBTpJT1NKZbkhcrOK7HAeI5+2zhHaZW5VvMV8t ARz5mhpbz77PDSso2FHpejSCWX6iskKi+7Ju3JLGwbvtrI1bMrAeJoLq/j7Zdht4TPn9 Y4qQxPf7gpZ5jmhxM0wT0nz0EoI3vU9seUWjN6gK+FTvYkbf6ZT+Mj/oPvlkauRcmnbt dAnwidgTHNOaM7SglydoLjq6JWqeuROJX1Ll3No4RJy993BClpL/aS4P9ZABwZOOF1DH xXEID8rJ8AWonl1BoirrRjadQ/TP/2mxpitps5GlUv4TCgoii/4rfugLVhGBFf5oRP3O CdaA== X-Gm-Message-State: ALoCoQmHpZgMNCqEvyYoOtACAOqn+KGjQ3SbqeT18dxGhLnfpAnh3IyT+9d/vWXagtex4xj+6JBL X-Received: by 10.194.184.81 with SMTP id es17mr4855703wjc.10.1447171706005; Tue, 10 Nov 2015 08:08:26 -0800 (PST) Received: from 6wind.com (guy78-3-82-239-227-177.fbx.proxad.net. [82.239.227.177]) by smtp.gmail.com with ESMTPSA id pn6sm68309wjb.15.2015.11.10.08.08.24 (version=TLSv1 cipher=RC4-SHA bits=128/128); Tue, 10 Nov 2015 08:08:25 -0800 (PST) Date: Tue, 10 Nov 2015 17:08:06 +0100 From: Adrien Mazarguil To: "Richardson, Bruce" Message-ID: <20151110160806.GV4013@6wind.com> Mail-Followup-To: "Richardson, Bruce" , Stephen Hemminger , Thomas Monjalon , "dev@dpdk.org" References: <1446552059-5446-1-git-send-email-bruce.richardson@intel.com> <1446552059-5446-3-git-send-email-bruce.richardson@intel.com> <4698587.GS9blBozDC@xps13> <20151104102418.GN3518@6wind.com> <20151104103957.4cabd090@xeon-e3> <20151105150918.GV3518@6wind.com> <20151106171007.GB19512@bricha3-MOBL3> <20151106172227.GC19512@bricha3-MOBL3> <20151109133905.GL4013@6wind.com> <59AF69C657FD0841A61C55336867B5B03598018B@IRSMSX103.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <59AF69C657FD0841A61C55336867B5B03598018B@IRSMSX103.ger.corp.intel.com> Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v3 2/4] ethdev: move error checking macros to header 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, 10 Nov 2015 16:08:28 -0000 On Mon, Nov 09, 2015 at 02:02:28PM +0000, Richardson, Bruce wrote: [...] > > From: Adrien Mazarguil [mailto:adrien.mazarguil@6wind.com] [...] > > Untested but I guess modifying that function accordingly would look like: > > > > static inline void > > rte_pmd_debug_trace(const char *func_name, const char *fmt, ...) > > { > > va_list ap; > > va_start(ap, fmt); > > > > static __thread char buffer[vsnprintf(NULL, 0, fmt, ap)]; > > > > va_end(ap); > > va_start(ap, fmt); > > vsnprintf(buffer, sizeof(buffer), fmt, ap); > > va_end(ap); > > rte_log(RTE_LOG_ERR, RTE_LOGTYPE_PMD, "%s: %s", func_name, > > buffer); > > } > > > > Looks a much better option. > > From this, though, I assume then that we are only looking to support the -pedantic flag in conjuction with c99 mode or above. Supporting -pedantic with the pre-gcc-5 versions won't allow that to work though, as variably sized arrays only came in with c99, and were gnu extensions before that. Right, -pedantic must follow a given standard such as -std=gnu99 otherwise it's meaningless. However pre-GCC 5 is fine for most if not all features we use, see: https://gcc.gnu.org/c99status.html Mixed code and declarations are supported since GCC 3.0, __VA_ARGS__ in macros since GCC 2.95 and variable length arrays since GCC 0.9, so as long as we use a version that implements -std=gnu99 (or -std=c99 to be really pedantic), it's fine. Besides DPDK already uses C99 extensively, even a few C11 features (such as embedded anonymous struct definitions) currently supported in C99 mode as compiler extensions. I think we can safely ignore compilers that don't support common C99 features. -- Adrien Mazarguil 6WIND