Hi and thanks for reviewing, I seem to have somehow missed the email for this one and thought it got lost. Sorry.
On Fri, Feb 13, 2015 at 12:27 PM, Mcnamara, John <john.mcnamara at intel.com> wrote: >> -----Original Message----- >> From: Richardson, Bruce >> Sent: Friday, February 13, 2015 10:18 AM >> To: Mcnamara, John >> Cc: Stefan Puiu; dev at dpdk.org >> Subject: Re: [dpdk-dev] [PATCH] Minor C++11 compilation fix for rte_pci.h >> >> > > >> > > In C++11 concatenated string literals need to have a space in between. >> > > clang 3.4 reports this as an error (and IIRC also gcc-4.8): >> > > >> > > 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] >> > >> > >> > That concatenated string literal with PRI* is used in 65 files in the >> DPDK source. Is that the only compilation error that you got? >> > >> > John >> >> It should only be a problem in header files. The C files for DPDK source >> are always to be compiled up with a C compiler - only the headers get >> included in application C++ code. >> > > Hi, > > In that case it only occurs in 3 header files. I guess that patch should be > extended to include those as well: > > $ find lib -name \*.h | xargs grep -l '"PRI' > lib/librte_vhost/vhost-net-cdev.h > lib/librte_eal/common/include/rte_pci.h > lib/librte_mempool/rte_mempool.h Makes sense. Bruce is right, I'm only including headers from C++, the library is compiled using C. It seems I didn't hit the rte_mempool.h because (at least in 1.8.0) that the usage of PRI* is under #ifdef RTE_LIBRTE_MEMPOOL_DEBUG. It's very likely I didn't need the first file in the list. Anyway, I'll send a new version. > > John. > -- > > > >