[dpdk-dev] Fix compilation error when compiling with clang-3.4 in C++11 mode: in C++11 concatenated string literals need to have a space in between.

Message ID 1424379569-15851-2-git-send-email-stefan.puiu@gmail.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Stefan Puiu Feb. 19, 2015, 8:59 p.m. UTC
  From: Stefan Puiu <spuiu@ixiacom.com>

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]
---
 lib/librte_eal/common/include/rte_pci.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

De Lara Guarch, Pablo Feb. 20, 2015, 8:19 a.m. UTC | #1
Hi Stefan,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Stefan Puiu
> Sent: Thursday, February 19, 2015 8:59 PM
> To: dev@dpdk.org
> Cc: Stefan Puiu
> Subject: [dpdk-dev] [PATCH] Fix compilation error when compiling with
> clang-3.4 in C++11 mode: in C++11 concatenated string literals need to have a
> space in between.
> 
> From: Stefan Puiu <spuiu@ixiacom.com>
> 
> 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]

You forgot to include "Signed-off".

Pablo
> ---
>  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
> --
> 1.7.9.5
  
Stefan Puiu Feb. 20, 2015, 8:34 a.m. UTC | #2
Hi Pablo,

On Fri, Feb 20, 2015 at 10:19 AM, De Lara Guarch, Pablo
<pablo.de.lara.guarch@intel.com> wrote:
> Hi Stefan,
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Stefan Puiu
>> Sent: Thursday, February 19, 2015 8:59 PM
>> To: dev@dpdk.org
>> Cc: Stefan Puiu
>> Subject: [dpdk-dev] [PATCH] Fix compilation error when compiling with
>> clang-3.4 in C++11 mode: in C++11 concatenated string literals need to have a
>> space in between.
>>
>> From: Stefan Puiu <spuiu@ixiacom.com>
>>
>> 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]
>
> You forgot to include "Signed-off".

Oops, you're right. I'll resend. Thanks for looking over this.

Stefan.

>
> Pablo
>> ---
>>  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
>> --
>> 1.7.9.5
>
  

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