Boost regression testsuite results for the improved new checkingcode
Peter Schmid
schmid@snake.iap.physik.tu-darmstadt.de
Mon Apr 16 09:32:00 GMT 2001
Thank you very much for your reply.
There are two statements of yours, I do not comprehend.
libs/integer/integer_traits_test.cpp
crashes with an ice in ../boost/integer_traits.hpp:137: Internal
compiler error in tree_low_cst, at tree.c:3440, regardless if checking
is on or off, like libs/random/random_test.cpp and libs/random/random_demo.cpp.
It surprises me that the old checking code accepts
libs/regex/demo/regress/regex_test.cpp and libs/utility/call_traits_test.cpp.
|libs/utility/call_traits_test.cpp
|References to references are currently not valid. I think Stroustrup has
|a defect report in on this.
I do not understand this statement. IMHO this has something to do with
the const qualifier in the typedef const r_type cr_type in line 18 of
call_traits_test.cpp. If this qualifier is removed, I tentatively
replaced this typedef with typedef r_type cr_type, the code
compiles. The program runs successfully.
According to the call_traits documentation and a comment in the source
code, this const qualifier should have no effect. Therefore, I believe
that this is a g++ defect.
(results after removing the const qualifier)
g++ -o boosttmp.exe -Wall -W -ftemplate-depth-30 -I.. ../libs/utility/call_traits_test.cpp
../libs/utility/call_traits_test.cpp: In function `int main(int, char**)':
../libs/utility/call_traits_test.cpp:211: warning: unused variable `const char
ca[4]'
../libs/utility/call_traits_test.cpp: In function `static void
call_traits_test<T, isarray>::assert_construct(typename
boost::call_traits<T>::param_type) [with T = int, bool isarray = false]':
../libs/utility/call_traits_test.cpp:356: instantiated from here
../libs/utility/call_traits_test.cpp:304: warning: unused variable `int v2'
../libs/utility/call_traits_test.cpp:305: warning: unused variable `int v3'
../libs/utility/call_traits_test.cpp:306: warning: unused variable `int v4'
../libs/utility/call_traits_test.cpp:307: warning: unused variable `int&r2'
../libs/utility/call_traits_test.cpp:308: warning: unused variable `int&r3'
../libs/utility/call_traits_test.cpp:309: warning: unused variable `const
int&cr2'
../libs/utility/call_traits_test.cpp:310: warning: unused variable `const
int&cr3'
../libs/utility/call_traits_test.cpp:311: warning: unused variable `const
int&cr4'
../libs/utility/call_traits_test.cpp:312: warning: unused variable `const
int&cr5'
../libs/utility/call_traits_test.cpp:313: warning: unused variable `const int
p2'
../libs/utility/call_traits_test.cpp:314: warning: unused variable `const int
p3'
../libs/utility/call_traits_test.cpp:315: warning: unused variable `const int
p4'
../libs/utility/call_traits_test.cpp: In function `static void
call_traits_test<T, isarray>::assert_construct(typename
boost::call_traits<T>::param_type) [with T = const int, bool isarray =
false]':
../libs/utility/call_traits_test.cpp:357: instantiated from here
../libs/utility/call_traits_test.cpp:304: warning: unused variable `const int
v2'
../libs/utility/call_traits_test.cpp:305: warning: unused variable `const int
v3'
../libs/utility/call_traits_test.cpp:306: warning: unused variable `const int
v4'
../libs/utility/call_traits_test.cpp:307: warning: unused variable `const
int&r2'
../libs/utility/call_traits_test.cpp:308: warning: unused variable `const
int&r3'
../libs/utility/call_traits_test.cpp:309: warning: unused variable `const
int&cr2'
../libs/utility/call_traits_test.cpp:310: warning: unused variable `const
int&cr3'
../libs/utility/call_traits_test.cpp:311: warning: unused variable `const
int&cr4'
../libs/utility/call_traits_test.cpp:312: warning: unused variable `const
int&cr5'
../libs/utility/call_traits_test.cpp:313: warning: unused variable `const int
p2'
../libs/utility/call_traits_test.cpp:314: warning: unused variable `const int
p3'
../libs/utility/call_traits_test.cpp:315: warning: unused variable `const int
p4'
../libs/utility/call_traits_test.cpp: In function `static void
call_traits_test<T, isarray>::assert_construct(typename
boost::call_traits<T>::param_type) [with T = int*, bool isarray = false]':
../libs/utility/call_traits_test.cpp:358: instantiated from here
../libs/utility/call_traits_test.cpp:304: warning: unused variable `int*v2'
../libs/utility/call_traits_test.cpp:305: warning: unused variable `int*v3'
../libs/utility/call_traits_test.cpp:306: warning: unused variable `int*v4'
../libs/utility/call_traits_test.cpp:307: warning: unused variable `int*&r2'
../libs/utility/call_traits_test.cpp:308: warning: unused variable `int*&r3'
../libs/utility/call_traits_test.cpp:309: warning: unused variable `int*
const&cr2'
../libs/utility/call_traits_test.cpp:310: warning: unused variable `int*
const&cr3'
../libs/utility/call_traits_test.cpp:311: warning: unused variable `int*
const&cr4'
../libs/utility/call_traits_test.cpp:312: warning: unused variable `int*
const&cr5'
../libs/utility/call_traits_test.cpp:313: warning: unused variable `int* const
p2'
../libs/utility/call_traits_test.cpp:314: warning: unused variable `int* const
p3'
../libs/utility/call_traits_test.cpp:315: warning: unused variable `int* const
p4'
../libs/utility/call_traits_test.cpp: In function `static void
call_traits_test<T, isarray>::assert_construct(typename
boost::call_traits<T>::param_type) [with T = int&, bool isarray = false]':
../libs/utility/call_traits_test.cpp:360: instantiated from here
../libs/utility/call_traits_test.cpp:304: warning: unused variable `int&v2'
../libs/utility/call_traits_test.cpp:305: warning: unused variable `int&v3'
../libs/utility/call_traits_test.cpp:306: warning: unused variable `int&v4'
../libs/utility/call_traits_test.cpp:307: warning: unused variable `int&r2'
../libs/utility/call_traits_test.cpp:308: warning: unused variable `int&r3'
../libs/utility/call_traits_test.cpp:309: warning: unused variable `const
int&cr2'
../libs/utility/call_traits_test.cpp:310: warning: unused variable `const
int&cr3'
../libs/utility/call_traits_test.cpp:311: warning: unused variable `const
int&cr4'
../libs/utility/call_traits_test.cpp:312: warning: unused variable `const
int&cr5'
../libs/utility/call_traits_test.cpp:313: warning: unused variable `int&p2'
../libs/utility/call_traits_test.cpp:314: warning: unused variable `int&p3'
../libs/utility/call_traits_test.cpp:315: warning: unused variable `int&p4'
../libs/utility/call_traits_test.cpp: In function `static void
call_traits_test<T, isarray>::assert_construct(typename
boost::call_traits<T>::param_type) [with T = const int&, bool isarray =
false]':
../libs/utility/call_traits_test.cpp:361: instantiated from here
../libs/utility/call_traits_test.cpp:304: warning: unused variable `const
int&v2'
../libs/utility/call_traits_test.cpp:305: warning: unused variable `const
int&v3'
../libs/utility/call_traits_test.cpp:306: warning: unused variable `const
int&v4'
../libs/utility/call_traits_test.cpp:307: warning: unused variable `const
int&r2'
../libs/utility/call_traits_test.cpp:308: warning: unused variable `const
int&r3'
../libs/utility/call_traits_test.cpp:309: warning: unused variable `const
int&cr2'
../libs/utility/call_traits_test.cpp:310: warning: unused variable `const
int&cr3'
../libs/utility/call_traits_test.cpp:311: warning: unused variable `const
int&cr4'
../libs/utility/call_traits_test.cpp:312: warning: unused variable `const
int&cr5'
../libs/utility/call_traits_test.cpp:313: warning: unused variable `const
int&p2'
../libs/utility/call_traits_test.cpp:314: warning: unused variable `const
int&p3'
../libs/utility/call_traits_test.cpp:315: warning: unused variable `const
int&p4'
../libs/utility/call_traits_test.cpp: In function `static void
call_traits_test<T, true>::assert_construct(typename
boost::call_traits<T>::param_type) [with T = int[2]]':
../libs/utility/call_traits_test.cpp:363: instantiated from here
../libs/utility/call_traits_test.cpp:336: warning: unused variable `const
int*v5'
../libs/utility/call_traits_test.cpp:339: warning: unused variable `int
(&r2)[2]'
../libs/utility/call_traits_test.cpp:342: warning: unused variable `const int
(&cr2)[2]'
../libs/utility/call_traits_test.cpp:345: warning: unused variable `const
int*v2'
../libs/utility/call_traits_test.cpp:346: warning: unused variable `const int
(&cr3)[2]'
../libs/utility/call_traits_test.cpp:347: warning: unused variable `const
int*v3'
../libs/utility/call_traits_test.cpp:348: warning: unused variable `const
int*v4'
../libs/utility/call_traits_test.cpp:349: warning: unused variable `const int*
const p2'
../libs/utility/call_traits_test.cpp:350: warning: unused variable `const int*
const p3'
../libs/utility/call_traits_test.cpp:351: warning: unused variable `const int*
const p4'
./boosttmp.exe
checking contained<14comparible_UDT>...
typeof contained<14comparible_UDT>::value() is: M9containedI14comparible_UDTEFS0_vE
typeof contained<14comparible_UDT>::get() is: M9containedI14comparible_UDTEFRS0_vE
typeof contained<14comparible_UDT>::const_get() is: M9containedI14comparible_UDTEFRKS0_vE
typeof contained<14comparible_UDT>::call() is: M9containedI14comparible_UDTEFvRKS0_E
checking contained<i>...
typeof contained<i>::value() is: M9containedIiEFivE
typeof contained<i>::get() is: M9containedIiEFRivE
typeof contained<i>::const_get() is: M9containedIiEFRKivE
typeof contained<i>::call() is: M9containedIiEFviE
checking contained<Pi>...
typeof contained<Pi>::value() is: M9containedIPiEFS0_vE
typeof contained<Pi>::get() is: M9containedIPiEFRS0_vE
typeof contained<Pi>::const_get() is: M9containedIPiEFRKS0_vE
typeof contained<Pi>::call() is: M9containedIPiEFvS0_E
checking contained<i>...
typeof contained<i>::value() is: M9containedIRiEFS0_vE
typeof contained<i>::get() is: M9containedIRiEFS0_vE
typeof contained<i>::const_get() is: M9containedIRiEFRKivE
typeof contained<i>::call() is: M9containedIRiEFvS0_E
checking contained<i>...
typeof contained<i>::value() is: M9containedIRKiEFS1_vE
typeof contained<i>::get() is: M9containedIRKiEFS1_vE
typeof contained<i>::const_get() is: M9containedIRKiEFS1_vE
typeof contained<i>::call() is: M9containedIRKiEFvS1_E
checking contained<A2_i>...
typeof contained<A2_i>::v_ is: M9containedIA2_iES0_
typeof contained<A2_i>::value is: M9containedIA2_iEFPKivE
typeof contained<A2_i>::get is: M9containedIA2_iEFRS0_vE
typeof contained<A2_i>::const_get is: M9containedIA2_iEFRKS0_vE
typeof contained<A2_i>::call is: M9containedIA2_iEFvPKiE
checking contained<i>...
checking contained<PKi>...
checking std::pair<PKi, PKi>...
32 tests completed, 0 failures found, 4 failures expected from this compiler.
|libs/utility/counting_iterator_test.cpp - +
|This fails with checking on because of the SignedIntegerConcept check on
|their homegrown 'intmax_t', same as above.
I am not sure, if I understand your statement. I thought the concept
checks reject this code because some operators are not defined.
../libs/utility/counting_iterator_test.cpp:248: instantiated from
here
/usr/local/include/g++-v3/bits/boost_concept_check.h:499: no match for
`my_int3& + ptrdiff_t&' operator
/usr/local/include/g++-v3/bits/boost_concept_check.h:499: no match for
`ptrdiff_t& + my_int3&' operator
/usr/local/include/g++-v3/bits/boost_concept_check.h:500: no match for
`my_int3& -= ptrdiff_t&' operator
/usr/local/include/g++-v3/bits/boost_concept_check.h:504: no match for
`my_int3& [ptrdiff_t&]' operator
../libs/utility/counting_iterator_test.cpp:248: instantiated from here
/usr/local/include/g++-v3/bits/boost_concept_check.h:230: no match for
`my_int3& > my_int3&' operator
/usr/local/include/g++-v3/bits/boost_concept_check.h:231: no match for
`my_int3& <= my_int3&' operator
/usr/local/include/g++-v3/bits/boost_concept_check.h:232: no match for
`my_int3& >= my_int3&' operator
../libs/utility/counting_iterator_test.cpp:248: instantiated from here
/usr/local/include/g++-v3/bits/boost_concept_check.h:445: instantiation of
`__r' as type void
/usr/local/include/g++-v3/bits/boost_concept_check.h:445: no match for `*
my_int3&' operator
Hope this helps,
Peter Schmid
More information about the Libstdc++
mailing list