Boost logo

Boost :

From: Bob Kline (bkline_at_[hidden])
Date: 2002-09-21 10:57:36

On Fri, 20 Sep 2002, Bo Persson wrote:

> "Bob Kline" <bkline_at_[hidden]> wrote:
> > We're getting a new warning when compiling our code against Regex++ 3.31
> > using Visual C++ 7. Here is the text of the warning, reformatted
> > slightly to make it easier to read:
> >
> > F:/usr\regex\boost\regex\pattern_except.hpp(35) : warning C4275: \
> > non dll-interface class 'std::runtime_error' used as base for \
> > dll-interface class 'boost::bad_pattern'
> > D:\Program Files\Microsoft Visual Studio \
> > .NET\Vc7\include\stdexcept(137) : see declaration of \
> > 'std::runtime_error'
> > F:/usr\regex\boost\regex\pattern_except.hpp(34) : see \
> > declaration of 'boost::bad_pattern'
> It basically says that you export a class (bad_pattern) whose base
> class is *not* exported. This means that its inherited functions are
> sort of visible, but hard to link to.

Yes, well, in this case I'm not the one who's exporting the class. It's
the regex package which is exporting the class. The reason I wrote to
the mailing list is to find out:

 1. Are the regex++ developers aware of the warning?
 2. Is the regex++ package doing anything which could cause problems
    because parts of the base class from which bad_pattern is
    derived aren't accessible?
 3. If not, can I assume that the package will not do anything in
    the future which will cause such problems, and that I can safely
    suppress or ignore this warning?


Bob Kline

Boost list run by bdawes at, gregod at, cpdaniel at, john at