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)


I can elaborate a bit more what I did exactly to compile the boost
repository version 1.21.1. First of all, I ran the boost test suite without a
modification of the headers. The failures (after fixing a coding error in  
boost/rational.hpp) are: 

/libs/concept_check/concept_check_test.cpp * +
/libs/concept_check/class_concept_check_test.cpp * +
/libs/functional/function_test.cpp * +
/libs/graph/test/graph.cpp * +
/libs/integer/integer_traits_test.cpp 
/libs/random/random_test.cpp
/libs/random/random_demo.cpp
/libs/regex/demo/regress/regex_test.cpp *
/libs/regex/demo/regress/wregex_test.cpp *
/libs/utility/call_traits_test.cpp
/libs/utility/counting_iterator_test.cpp +
/libs/utility/iterator_traits_test.cpp +

When the checking code is disabled, all files marked with a plus sign
do compile and work as expected. If the old checking code is enabled
files marked with an asterisk do not fail. 

My aim was to get concept_check_test.cpp to compile. In the first attempt
I changed the name of the namespace from boost to boost_neu; but the
results are exactly the same as before. In a second attempt I changed
all the macro definitions from BOOST* to BOOST_NEU*, but did not touch
the guards. This introduces additional errors in
libs/utility/iterator_adaptor_test.cpp,
libs/utility/transform_iterator_test.cpp,
libs/utility/indirect_iterator_test.cpp,
libs/utility/iter_traits_gen_test.cpp.   
If I change the guards in the same fashion, I get as a result that
libs/concept_check/concept_check_test.cpp,
libs/concept_check/class_concept_check_test.cpp,
libs/utility/compressed_pair_test.cpp,
libs/utility/transform_iterator_test.cpp pass. 

>Did you change the name of the guarding macro in the
>Boost header?
Yes, finally I did that to get
/libs/concept_check/concept_check_test.cpp to compile.   


>That was a design decision for Boost; Jeremy et al knows about it.
>(See the Boost web page for more on that one.)
I have read that document sometime before. I was aware that the
messages were less concise, but did not expect this increase in
verbosity, since the checking "code was simplified" according to the
documentation shipped with boost.  

In the file boost_concept_check.h from libstdc++ there is a note that
this code is based on version 1.12.0 of the Boost library, maybe these
checking routines  are incompatible with version 1.21.1 of the boost
repository?

Peter Schmid



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