
John Maddock wrote:
Clearly, I could add a spurious return statement after the assert, but isn't g++ being a little over eager here? Can the warning not be silenced by the library?
None: it would have to introduce a return statement to do so, and that would break so many things that I don't know where to begin. Remember that many uses of BOOST_STATIC_ASSERT do expect it to compile, and generate neither code not data.
So the __noreturn__ command used by GNU's /usr/include/assert.h couldn't be used? /* This prints an "Assertion failed" message and aborts. */ extern void __assert_fail (__const char *__assertion, __const char *__file, unsigned int __line, __const char *__function) __THROW __attribute__ ((__noreturn__)); Oh well. Thanks. Angus