Bug in rti_connext_dds-5.3.0/include/ndds/log/log_makeheader.h ?

1 post / 0 new
frgo's picture
Last seen: 1 year 6 months ago
Joined: 12/28/2011
Posts: 20
Bug in rti_connext_dds-5.3.0/include/ndds/log/log_makeheader.h ?

Hi all.

I am using the Modern C++ API to integrate RTI Connext DDS with other (commercial) C++ software packages.
In my source code, I do:

#include <rti/rti.hpp>

as the only include referencing RTI Connext DDS.

In another SW package of which I do not own the code (being a C++ code scraper that generates garbage collection code from analyzing C++ code statically) there is:

enum AccessControl {
None, Private, Protected, Public, Package

After including file rti/rti.hpp the following is remaining:

enum AccessControl {
None, Private, Protected, ,

Looking at log_makeheader.h I found (line 21 and line 22 are the problematic ones):

#define Public
#define Package
#define Peer
#define RTI_PRIVATE static
#ifndef __cplusplus
#define public
#define package
#define peer
#define private static
#endif /* !__cplusplus */

Now, not knowing what the impact on RTI Connext DDS really is, bu moving the #ifndef __cplusplus just before the #define Public kind of is the solution to my problems. Any thoughts? What I am doing wrong?(This must have been noticed by others, I assume).

Thanks for looking into this!