Boost logo

Boost :

Subject: Re: [boost] [1.48.0] TypeTraits additions
From: Frédéric Bron (frederic.bron_at_[hidden])
Date: 2011-10-08 18:17:29


Some investigations after the first regression tests:

* good news, all tests pass for:
- gcc-4.4 (darwin-4.4)
- gcc-4.4 c++0x (darwin-4.4_0x)
- gcc-4.2.4 (sandia)
- gcc-4.3.4 (sandia)
- gcc-4.3.4 (sandia 0x)
- gcc-4.4.4 (sandia)
- gcc-4.4.4 (sandia 0x)
- gcc-4.5.2 (sandia)
- gcc-4.6.1 (debian-sid)
- gcc-4.6.1 (maxime-gcc 0x)
- gcc-4.6.1 (my pc)
- intel-linux-11.1 (intel-darwin-11.1)
- intel-linux-11.1 (sandia-itanium)
- intel-linux-11.1 (sandia)
- intel-linux-11.1 (my pc)

* bad news, those have failed tests:
- pathscale 4.0.8
has_post_increment< bool, bool & > had an invalid value (found 1, expected 0)
has_post_increment< bool &, bool & > had an invalid value (found 1, expected 0)
means that the following works with patscale:
void f(bool&);
bool b;
f(b++);
should not work because b++ is a prvalue which cannot be used as non
const reference. -> error of pathscale?

- intel-linux-10.0 (on my pc): many tests failed
the only compile time error I can see in the log is "error #177:
function ... was declared but never referenced"
This should be a warning (and is a warning with versions 11 and 12)
Note the compile option -Werror

- intel-linux-10.1 (sandia): many tests failed
same as with intel-linux 10.0: error #177

- intel-linux-12.0 (on my pc): has_post_increment fails: error #751:
incrementing a bool value is deprecated

The standard (both 2003 and draft 2011) says for bool x:
x-- and --x are forbidden (implemented in the type trait extension)
x++ and ++x: set x to true but is deprecated!
It is funny that if it was deprecated in 2003, it is still deprecated
in 2011 and not forbidden...
for --, the standard is clear: forbidden with bool.

I can easily say that ++ it is forbidden for bool. OK for this?

- sun-5.10 (sandia): many failures
The tests compile and link but the values found are wrong. This
indicates that the technique used to detect the operators do not work
with this compiler.

- msvc- 9.0 (wm5 stlport5.2 veecoFTC): all tests fail but all other
tests fail also so that I would not rely on this one to know if we
have issues with msvc

So up to now, I do not see any major issue but I still do not have the
regression tests with msvc.

Frédéric


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk