|
Boost : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-04-15 01:46:23
Hello,
I've just found out that the following program:
#include <boost/static_assert.hpp>
int main()
{
BOOST_STATIC_ASSERT(false);
return 0;
}
compiled with gcc 3.3 produces:
sa.cpp:6: error: invalid application of `sizeof' to an incomplete type
which is not as nice as
sa.cpp:6: `sizeof' applied to incomplete type
`boost::STATIC_ASSERTION_FAILURE<false>'
that gcc 2.95 generates and
sa.cpp:6: `sizeof' applied to incomplete type `
boost::STATIC_ASSERTION_FAILURE<false>'
That 3.2 generates. The behaviour of 3.4 is the same as for 3.3.
So, there are some questions:
1. Should I bug gcc developers about this?
2. Anybody knows another way to force better diagnostic?
3. Is it possible to make regression tests for static_assert always include
compiler messages, so that we know the diagnostic is OK?
- Volodya
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk