When using the poco_bugcheck and similar macros in a situation like the following:
int f()
{
if (something)
...
else if(something else)
...
poco_bugcheck();
}
you get a compiler warning C4715: ... not all control paths return a value (in MSVC, probably similar in other compilers)
This could be avoided without having to change any client code by using __declspec(noreturn) (for MSVC, __attribute__ ((noreturn)) for GCC) like this:
#if defined(_MSC_VER)
static void __declspec(noreturn) bugcheck(const char* file, int line);
#else
...
I wonder if this has been intentionally left out?





