DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] Bugs in newest patches
@ 2014-11-06 20:21 Keunhong Lee
  2014-11-06 21:05 ` Thomas Monjalon
  2014-11-07  6:26 ` [dpdk-dev] [PATCH] eal: fix C++ compilation issue after headers rework David Marchand
  0 siblings, 2 replies; 6+ messages in thread
From: Keunhong Lee @ 2014-11-06 20:21 UTC (permalink / raw)
  To: dev

Hi.
I just pulled new patches from the master branch, and found that it doesn't
work with C++.

in  lib/librte_eal/common/include/generic/rte_cycles.h
missing opening extern "C" in
commit fa4001c30ee9d9ecfb3ca5d93d68ef0394e9950a

here is the fix.

-----

  * Simple Time Reference Functions (Cycles and HPET).
  */

+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <stdint.h>
 #include <rte_debug.h>
 #include <rte_atomic.h>

----

Keunhong.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] Bugs in newest patches
  2014-11-06 20:21 [dpdk-dev] Bugs in newest patches Keunhong Lee
@ 2014-11-06 21:05 ` Thomas Monjalon
  2014-11-07  1:26   ` Keunhong Lee
  2014-11-07  6:26 ` [dpdk-dev] [PATCH] eal: fix C++ compilation issue after headers rework David Marchand
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas Monjalon @ 2014-11-06 21:05 UTC (permalink / raw)
  To: Keunhong Lee; +Cc: dev

Hi,

2014-11-07 05:21, Keunhong Lee:
> I just pulled new patches from the master branch, and found that it doesn't
> work with C++.
> 
> in  lib/librte_eal/common/include/generic/rte_cycles.h
> +#ifdef __cplusplus
> +extern "C" {
> +#endif

It's already included in lib/librte_eal/common/include/arch/x86/rte_cycles.h
which includes lib/librte_eal/common/include/generic/rte_cycles.h.

You shouldn't include the generic header directly.

-- 
Thomas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] Bugs in newest patches
  2014-11-06 21:05 ` Thomas Monjalon
@ 2014-11-07  1:26   ` Keunhong Lee
  2014-11-07  6:14     ` David Marchand
  0 siblings, 1 reply; 6+ messages in thread
From: Keunhong Lee @ 2014-11-07  1:26 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev

I did not included the generic header directly.
I thought that this nested "extern C" is intended,
however, according to your reply, this might be removed at all.

There is a remaining
"""
#ifdef _cplusplus
}
#endif
"""
at the end of "generic/rte_cycles.h".
I think this should be removed. This causes compile error on C++.

Keunhong.


2014-11-07 6:05 GMT+09:00 Thomas Monjalon <thomas.monjalon@6wind.com>:

> Hi,
>
> 2014-11-07 05:21, Keunhong Lee:
> > I just pulled new patches from the master branch, and found that it
> doesn't
> > work with C++.
> >
> > in  lib/librte_eal/common/include/generic/rte_cycles.h
> > +#ifdef __cplusplus
> > +extern "C" {
> > +#endif
>
> It's already included in
> lib/librte_eal/common/include/arch/x86/rte_cycles.h
> which includes lib/librte_eal/common/include/generic/rte_cycles.h.
>
> You shouldn't include the generic header directly.
>
> --
> Thomas
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] Bugs in newest patches
  2014-11-07  1:26   ` Keunhong Lee
@ 2014-11-07  6:14     ` David Marchand
  0 siblings, 0 replies; 6+ messages in thread
From: David Marchand @ 2014-11-07  6:14 UTC (permalink / raw)
  To: Keunhong Lee; +Cc: dev

Hello,

On Fri, Nov 7, 2014 at 2:26 AM, Keunhong Lee <dlrmsghd@gmail.com> wrote:

> I did not included the generic header directly.
> I thought that this nested "extern C" is intended,
> however, according to your reply, this might be removed at all.
>
> There is a remaining
> """
> #ifdef _cplusplus
> }
> #endif
> """
> at the end of "generic/rte_cycles.h".
> I think this should be removed. This causes compile error on C++.
>

Argh, good catch.
I will send a fix (it looks to be the only one remaining).


-- 
David Marchand

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH] eal: fix C++ compilation issue after headers rework
  2014-11-06 20:21 [dpdk-dev] Bugs in newest patches Keunhong Lee
  2014-11-06 21:05 ` Thomas Monjalon
@ 2014-11-07  6:26 ` David Marchand
  2014-11-07 11:21   ` Thomas Monjalon
  1 sibling, 1 reply; 6+ messages in thread
From: David Marchand @ 2014-11-07  6:26 UTC (permalink / raw)
  To: dev

Following the big headers rework, all C++ stuff has moved to arch-specific
headers. The generic headers should not contain this so that this is done only
once.
There was a remaining #ifdef __cplusplus in "eal: split CPU cycle operation to
architecture specific" (fa4001c30ee9).

Reported-by: Keunhong Lee <dlrmsghd@gmail.com>
Signed-off-by: David Marchand <david.marchand@6wind.com>
---
 lib/librte_eal/common/include/generic/rte_cycles.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/lib/librte_eal/common/include/generic/rte_cycles.h b/lib/librte_eal/common/include/generic/rte_cycles.h
index c42b90b..7700f41 100644
--- a/lib/librte_eal/common/include/generic/rte_cycles.h
+++ b/lib/librte_eal/common/include/generic/rte_cycles.h
@@ -202,8 +202,4 @@ rte_delay_ms(unsigned ms)
 	rte_delay_us(ms * 1000);
 }
 
-#ifdef __cplusplus
-}
-#endif
-
 #endif /* _RTE_CYCLES_H_ */
-- 
2.1.1

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH] eal: fix C++ compilation issue after headers rework
  2014-11-07  6:26 ` [dpdk-dev] [PATCH] eal: fix C++ compilation issue after headers rework David Marchand
@ 2014-11-07 11:21   ` Thomas Monjalon
  0 siblings, 0 replies; 6+ messages in thread
From: Thomas Monjalon @ 2014-11-07 11:21 UTC (permalink / raw)
  To: David Marchand, Keunhong Lee; +Cc: dev

> Following the big headers rework, all C++ stuff has moved to arch-specific
> headers. The generic headers should not contain this so that this is done only
> once.
> There was a remaining #ifdef __cplusplus in "eal: split CPU cycle operation to
> architecture specific" (fa4001c30ee9).
> 
> Reported-by: Keunhong Lee <dlrmsghd@gmail.com>
> Signed-off-by: David Marchand <david.marchand@6wind.com>

Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>

Applied

Thanks
-- 
Thomas

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-11-07 11:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-06 20:21 [dpdk-dev] Bugs in newest patches Keunhong Lee
2014-11-06 21:05 ` Thomas Monjalon
2014-11-07  1:26   ` Keunhong Lee
2014-11-07  6:14     ` David Marchand
2014-11-07  6:26 ` [dpdk-dev] [PATCH] eal: fix C++ compilation issue after headers rework David Marchand
2014-11-07 11:21   ` Thomas Monjalon

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git