[dpdk-dev] rte_pci.h: Fix C++11 compilation

Message ID 1424424952-16885-1-git-send-email-stefan.puiu@gmail.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Stefan Puiu Feb. 20, 2015, 9:35 a.m. UTC
  In C++11 concatenated string literals need to have a
 space in between. Found with clang++-3.4, IIRC g++-4.8 also complains about this. 

Sample error message:
dpdk/include/rte_pci.h:96:26: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]

Signed-off-by: Stefan Puiu <stefan.puiu@gmail.com>
---
 lib/librte_eal/common/include/rte_pci.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Thomas Monjalon Feb. 20, 2015, 11:26 a.m. UTC | #1
Hi Stefan,

Thanks for improving DPDK for C++ usage.

I'm a bit lost because that's the fourth time you send the same patch (without versioning):
	http://dpdk.org/dev/patchwork/patch/3140/
(this one had some comments you didn't address)
	http://dpdk.org/dev/patchwork/patch/3517/
(is it different from the first one?)
	http://dpdk.org/dev/patchwork/patch/3518/
(this one was wrongly formatted but authored with your ixiacom address)
	http://dpdk.org/dev/patchwork/patch/3537/
(it is different from the first one?)

Please check http://dpdk.org/dev#send for versioning and set the old versions
to "superseded" in patchwork.
Thanks


2015-02-20 11:35, Stefan Puiu:
>  In C++11 concatenated string literals need to have a
>  space in between. Found with clang++-3.4, IIRC g++-4.8 also complains about this. 
> 
> Sample error message:
> dpdk/include/rte_pci.h:96:26: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
> 
> Signed-off-by: Stefan Puiu <stefan.puiu@gmail.com>
> ---
>  lib/librte_eal/common/include/rte_pci.h |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h
> index 66ed793..12ae5a7 100644
> --- a/lib/librte_eal/common/include/rte_pci.h
> +++ b/lib/librte_eal/common/include/rte_pci.h
> @@ -93,10 +93,10 @@ extern struct pci_device_list pci_device_list; /**< Global list of PCI devices.
>  #define SYSFS_PCI_DEVICES "/sys/bus/pci/devices"
>  
>  /** Formatting string for PCI device identifier: Ex: 0000:00:01.0 */
> -#define PCI_PRI_FMT "%.4"PRIx16":%.2"PRIx8":%.2"PRIx8".%"PRIx8
> +#define PCI_PRI_FMT "%.4" PRIx16 ":%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8
>  
>  /** Short formatting string, without domain, for PCI device: Ex: 00:01.0 */
> -#define PCI_SHORT_PRI_FMT "%.2"PRIx8":%.2"PRIx8".%"PRIx8
> +#define PCI_SHORT_PRI_FMT "%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8
>  
>  /** Nb. of values in PCI device identifier format string. */
>  #define PCI_FMT_NVAL 4
>
  
Stefan Puiu Feb. 20, 2015, 12:22 p.m. UTC | #2
Hi,

On Fri, Feb 20, 2015 at 1:26 PM, Thomas Monjalon
<thomas.monjalon@6wind.com> wrote:
> Hi Stefan,
>
> Thanks for improving DPDK for C++ usage.
>
> I'm a bit lost because that's the fourth time you send the same patch (without versioning):
>         http://dpdk.org/dev/patchwork/patch/3140/
> (this one had some comments you didn't address)

Sorry. I'm new to git-send-email and to patchwork; it seems some
versions got through to patchwork but didn't make it to the list? Will
have a look at fixing the mess. And I'll address the comments :).

>         http://dpdk.org/dev/patchwork/patch/3517/
> (is it different from the first one?)
>         http://dpdk.org/dev/patchwork/patch/3518/
> (this one was wrongly formatted but authored with your ixiacom address)
>         http://dpdk.org/dev/patchwork/patch/3537/
> (it is different from the first one?)
>
> Please check http://dpdk.org/dev#send for versioning and set the old versions
> to "superseded" in patchwork.
> Thanks
>
>
> 2015-02-20 11:35, Stefan Puiu:
>>  In C++11 concatenated string literals need to have a
>>  space in between. Found with clang++-3.4, IIRC g++-4.8 also complains about this.
>>
>> Sample error message:
>> dpdk/include/rte_pci.h:96:26: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
>>
>> Signed-off-by: Stefan Puiu <stefan.puiu@gmail.com>
>> ---
>>  lib/librte_eal/common/include/rte_pci.h |    4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h
>> index 66ed793..12ae5a7 100644
>> --- a/lib/librte_eal/common/include/rte_pci.h
>> +++ b/lib/librte_eal/common/include/rte_pci.h
>> @@ -93,10 +93,10 @@ extern struct pci_device_list pci_device_list; /**< Global list of PCI devices.
>>  #define SYSFS_PCI_DEVICES "/sys/bus/pci/devices"
>>
>>  /** Formatting string for PCI device identifier: Ex: 0000:00:01.0 */
>> -#define PCI_PRI_FMT "%.4"PRIx16":%.2"PRIx8":%.2"PRIx8".%"PRIx8
>> +#define PCI_PRI_FMT "%.4" PRIx16 ":%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8
>>
>>  /** Short formatting string, without domain, for PCI device: Ex: 00:01.0 */
>> -#define PCI_SHORT_PRI_FMT "%.2"PRIx8":%.2"PRIx8".%"PRIx8
>> +#define PCI_SHORT_PRI_FMT "%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8
>>
>>  /** Nb. of values in PCI device identifier format string. */
>>  #define PCI_FMT_NVAL 4
>>
>
>
  

Patch

diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h
index 66ed793..12ae5a7 100644
--- a/lib/librte_eal/common/include/rte_pci.h
+++ b/lib/librte_eal/common/include/rte_pci.h
@@ -93,10 +93,10 @@  extern struct pci_device_list pci_device_list; /**< Global list of PCI devices.
 #define SYSFS_PCI_DEVICES "/sys/bus/pci/devices"
 
 /** Formatting string for PCI device identifier: Ex: 0000:00:01.0 */
-#define PCI_PRI_FMT "%.4"PRIx16":%.2"PRIx8":%.2"PRIx8".%"PRIx8
+#define PCI_PRI_FMT "%.4" PRIx16 ":%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8
 
 /** Short formatting string, without domain, for PCI device: Ex: 00:01.0 */
-#define PCI_SHORT_PRI_FMT "%.2"PRIx8":%.2"PRIx8".%"PRIx8
+#define PCI_SHORT_PRI_FMT "%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8
 
 /** Nb. of values in PCI device identifier format string. */
 #define PCI_FMT_NVAL 4