This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Problems with the new concepts checking code (boost)


On Thu, Apr 05, 2001 at 08:20:35PM +0200, Peter Schmid wrote:
> Because of the new concepts checking code there are many regressions
> running the boost repository regression test suite and I cannot use
> some libraries when the concepts checking code is active.

This is good to know.


> Some problems are because of the #define
> glibcpp_function_requires(...) boost::function_requires<
> boost::__VA_ARGS__ >() puts the checking code in namespace boost,

The checking code was already in namespace boost.  It's still in namespace
boost.  Or let me clarify it like this: since the checking code is not
described in ISO 14882, it didn't get moved into namespace std.  And I wasn't
going to do 'using' statements to bring anything from boost:: into std::.
So the functions and structs are being called by their fully-qualified names.
This should not cause problems.


> and
> the new checking code employs macros beginning with BOOST_*, therefore
>  name clashes result. There are compiler messages like

Now this I don't understand.  The concept_check.hpp header from Boost is
guarded against multiple inclusion with "#ifndef BOOST_CONCEPT_CHECKS_HPP"
and that was left in place when I imported the header as concept_check.h.
So even if you include the header from Boost, the multiple inclusion guards
should protect you.  Did you change the name of the guarding macro in the
Boost header?


> For the new checking code there are seven additional failures (I made
> the modifications as indicated above, otherwise there are many more
> regressions), the error messages are much more verbose (sometimes >
> 1000 lines) and the messages are less concise than the old messages
> which have a prefix which clearer shows where the error occurs. 

That was a design decision for Boost; Jeremy et al knows about it.
(See the Boost web page for more on that one.)


Phil

-- 
pedwards at disaster dot jaj dot com  |  pme at sources dot redhat dot com
devphil at several other less interesting addresses in various dot domains
The gods do not protect fools.  Fools are protected by more capable fools.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]