Digital Mars C++ regression tests

The following message is a courtesy copy of an article that has been posted to gmane.comp.lib.boost.testing as well. ... are now up and running! We've finally sorted out all the setup issues that prevented the reports audience from seeing the actual status of the toolset, so hopefully now the interested parties can start taking the look at the failures and work together on improving the compiler's standing with Boost. The results are available at http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/summary... under "dmc-8_44b-stlport-4_5_3" column. Enjoy, -- Aleksey Gurtovoy MetaCommunications Engineering

"Aleksey Gurtovoy" wrote: [digital mars tests]
The results are available at http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/summary... under "dmc-8_44b-stlport-4_5_3" column.
DMC has problem with something inside Boost.Test and this causes almost all tests to fail Otherwise this compiler is quite capable and libs not using Boost.Test pass (like Boost.Any). /Pavel

"Pavel Vozenilek" <pavel_vozenilek@hotmail.com> writes:
"Aleksey Gurtovoy" wrote:
[digital mars tests]
The results are available at http://engineering.meta-comm.com/boost-regression/CVS-HEAD/developer/summary... under "dmc-8_44b-stlport-4_5_3" column.
DMC has problem with something inside Boost.Test and this causes almost all tests to fail
Otherwise this compiler is quite capable and libs not using Boost.Test pass (like Boost.Any).
IIRC I have no libraries using Boost.Test, and yet none of my tests pass. I'm happy to take your word, and Aleksey's, that things will improve, though. -- Dave Abrahams Boost Consulting www.boost-consulting.com

Gennadiy Rozental writes:
DMC has problem with something inside Boost.Test and this causes almost all tests to fail
I couldn't even start to investigate, since there is nothing in output. It's either configuration error or compiler just crashing during compilation.
It looks much more comprehensible to me now: http://tinyurl.com/8cu3v. -- Aleksey Gurtovoy MetaCommunications Engineering

I couldn't even start to investigate, since there is nothing in output. It's either configuration error or compiler just crashing during compilation.
It looks much more comprehensible to me now: http://tinyurl.com/8cu3v.
Unfortunately it's not that much help. It complains that following methods couldn't be instantiated: basic_cstring<char>::basic_cstring<char>( std::string const& ). basic_cstring<char>::assign( std::string const&, ... ). This is true. But ... it's not supposed to be instantiated. There are three reasons for this to happened: 1. Somehow/somewhere basic_cstring template parameter gets deduced incorrectly (char instead of char const). 2. Compiler trying to instantiate all the method of basic_cstring<char>, even if they are not used. 3. There is a genuine error in a code. But I guess other compilers would caught it by now. So still clueless. Gennadiy

Gennadiy Rozental wrote:
1. Somehow/somewhere basic_cstring template parameter gets deduced incorrectly (char instead of char const).
This happens. I've submitted a bug report to Walter, but if you're willing the following patch works around it and also activates on a needed test config macro. But there are still problems. Daniel diff -ru cvs/boost/boost/test/detail/config.hpp projects/boost/boost/test/detail/config.hpp --- cvs/boost/boost/test/detail/config.hpp 2005-02-20 08:27:06.000000000 +0000 +++ projects/boost/boost/test/detail/config.hpp 2005-06-28 23:27:43.862264400 +0100 @@ -55,7 +55,8 @@ BOOST_WORKAROUND(__GNUC__, < 3) || \ defined(__sgi) && _COMPILER_VERSION <= 730 || \ BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \ - defined(__DECCXX) + defined(__DECCXX) || \ + defined(__DMC__) #define BOOST_TEST_NO_PROTECTED_USING #endif diff -ru cvs/boost/boost/test/utils/basic_cstring/basic_cstring.hpp projects/boost/boost/test/utils/basic_cstring/basic_cstring.hpp --- cvs/boost/boost/test/utils/basic_cstring/basic_cstring.hpp 2005-04-12 07:49:05.000000000 +0100 +++ projects/boost/boost/test/utils/basic_cstring/basic_cstring.hpp 2005-06-28 23:17:39.000000000 +0100 @@ -596,7 +596,11 @@ inline bool operator==( basic_cstring<CharT1> const& s1, CharT2* s2 ) { +#if !defined(__DMC__) return s1 == basic_cstring<CharT2>( s2 ); +#else + return s1 == basic_cstring<CharT2 const>( s2 ); +#endif } //____________________________________________________________________________//

Daniel James wrote:
This happens. I've submitted a bug report to Walter, but if you're willing the following patch works around it and also activates on a needed test config macro. But there are still problems.
Sorry, I wasn't clear here. Can I apply this patch?
diff -ru cvs/boost/boost/test/detail/config.hpp projects/boost/boost/test/detail/config.hpp --- cvs/boost/boost/test/detail/config.hpp 2005-02-20 08:27:06.000000000 +0000 +++ projects/boost/boost/test/detail/config.hpp 2005-06-28 23:27:43.862264400 +0100 @@ -55,7 +55,8 @@ BOOST_WORKAROUND(__GNUC__, < 3) || \ defined(__sgi) && _COMPILER_VERSION <= 730 || \ BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) || \ - defined(__DECCXX) + defined(__DECCXX) || \ + defined(__DMC__) #define BOOST_TEST_NO_PROTECTED_USING #endif
diff -ru cvs/boost/boost/test/utils/basic_cstring/basic_cstring.hpp projects/boost/boost/test/utils/basic_cstring/basic_cstring.hpp --- cvs/boost/boost/test/utils/basic_cstring/basic_cstring.hpp 2005-04-12 07:49:05.000000000 +0100 +++ projects/boost/boost/test/utils/basic_cstring/basic_cstring.hpp 2005-06-28 23:17:39.000000000 +0100 @@ -596,7 +596,11 @@ inline bool operator==( basic_cstring<CharT1> const& s1, CharT2* s2 ) { +#if !defined(__DMC__) return s1 == basic_cstring<CharT2>( s2 ); +#else + return s1 == basic_cstring<CharT2 const>( s2 ); +#endif }
//____________________________________________________________________________//
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On Jul 12, 2005, at 3:24 PM, Daniel James wrote:
Daniel James wrote:
This happens. I've submitted a bug report to Walter, but if you're willing the following patch works around it and also activates on a needed test config macro. But there are still problems.
Sorry, I wasn't clear here. Can I apply this patch?
Looks safe enough. Go ahead. Doug

Aleksey Gurtovoy wrote:
.... are now up and running! We've finally sorted out all the setup issues that prevented the reports audience from seeing the actual status of the toolset, so hopefully now the interested parties can start taking the look at the failures and work together on improving the compiler's standing with Boost.
This is great. Would it be possible to run the tests without debug symbols turned off? They can cause the compiler to crash (IIRC for some member template instantiations). With them off there should be much more useful error messages when compiling Boost.Test. Daniel

Daniel James wrote:
Aleksey Gurtovoy wrote:
.... are now up and running! We've finally sorted out all the setup issues that prevented the reports audience from seeing the actual status of the toolset, so hopefully now the interested parties can start taking the look at the failures and work together on improving the compiler's standing with Boost.
This is great. Would it be possible to run the tests without debug symbols turned off? They can cause the compiler to crash (IIRC for some member template instantiations). With them off there should be much more useful error messages when compiling Boost.Test.
Hi Daniel, I remember you took an interest in trying to port parts of type traits to dmc. How did it go? Didn't you find some very peculiar behavior wrt overload resolution, such as functions with ellipses being prefered over other functions? Jonathan

Jonathan Turkanis wrote:
Hi Daniel,
I remember you took an interest in trying to port parts of type traits to dmc. How did it go? Didn't you find some very peculiar behavior wrt overload resolution, such as functions with ellipses being prefered over other functions?
Jonathan
I wrote up what I managed to do at: http://lists.boost.org/boost/2004/08/10552.php Since then Walter has fixed some of the bugs, but unfortunately theere has also been a regression which causes boost::is_pointer to fail on the stable version, because partial specialisation on member functions no longer works. The new beta version should fix that, as well as some other issues. And I think recent versions should be able to use the preprocessor library without any workarounds. Daniel

Daniel James writes:
Aleksey Gurtovoy wrote:
.... are now up and running! We've finally sorted out all the setup issues that prevented the reports audience from seeing the actual status of the toolset, so hopefully now the interested parties can start taking the look at the failures and work together on improving the compiler's standing with Boost.
This is great. Would it be possible to run the tests without debug symbols turned off?
Sure thing. Could you tell us the exact command line flag that turn it off?
They can cause the compiler to crash (IIRC for some member template instantiations). With them off there should be much more useful error messages when compiling Boost.Test.
Thanks for the info! -- Aleksey Gurtovoy MetaCommunications Engineering

Aleksey Gurtovoy wrote:
Daniel James writes:
This is great. Would it be possible to run the tests without debug symbols turned off?
Sure thing. Could you tell us the exact command line flag that turn it off?
I think setting '<debug-symbols>off' in Boost Build would be best, otherwise I think adding '-g-' should work. Unfortunately, I don't have access to windows at the moment so I can't try it out. Also, Walter has just released a new beta (8.44.3) which should work much better, it's available from: http://ftp.digitalmars.com/Digital_Mars_C++/Patch/beta.zip To install it, just unzip it over the current version. thanks, Daniel

Daniel James writes:
Aleksey Gurtovoy wrote:
Daniel James writes:
This is great. Would it be possible to run the tests without debug symbols turned off?
Sure thing. Could you tell us the exact command line flag that turn it off?
I think setting '<debug-symbols>off' in Boost Build would be best, otherwise I think adding '-g-' should work. Unfortunately, I don't have access to windows at the moment so I can't try it out.
Also, Walter has just released a new beta (8.44.3) which should work much better, it's available from:
http://ftp.digitalmars.com/Digital_Mars_C++/Patch/beta.zip
To install it, just unzip it over the current version.
We've installed it a couple of days ago, and the results do look somewhat better. In particular, turning off the debug info doesn't seem to be necessary anymore. -- Aleksey Gurtovoy MetaCommunications Engineering
participants (7)
-
Aleksey Gurtovoy
-
Daniel James
-
David Abrahams
-
Doug Gregor
-
Gennadiy Rozental
-
Jonathan Turkanis
-
Pavel Vozenilek