Boost logo

Boost Users :

From: Thomas Matelich (matelich_at_[hidden])
Date: 2006-05-05 13:51:02


This is only happening when I'm instrumenting code with Insure++ from
Parasoft. They use an EDG based parser (not sure of the version, but
I know they have it set to be very strict) and it is failing like so:

/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp: In
   function `boost::logic::tribool
   boost::logic::operator&&(boost::logic::tribool, boost::logic::tribool)':
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:203: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:203: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:205: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:205: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp: In
   function `boost::logic::tribool
   boost::logic::operator||(boost::logic::tribool, boost::logic::tribool)':
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:270: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:270: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:272: within
   this context
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:78: `
   struct boost::logic::tribool::dummy' is private
/usr/local/eddynet/debug_eddynet/opt/include/boost/logic/tribool.hpp:272: within
   this context

Locally I've worked around this with changing the first part of the
tribool class from:

class tribool
{
private:

to

class tribool
{
#ifdef __INSURE__ //Symbol defined by parser when used in this context
public:
#endif

(no #else since private is implied)

Anyway, I don't mind maintaining my own mods, just thought I'd report
this. If you don't mind enlightening me, I am a little curious why
using safe_bool works if its private on any compiler. Seems like
private typedefs usually are private.

Thanks,
Tom


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net