Boost logo

Boost :

Subject: Re: [boost] Mark throw_exception as noreturn?
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2009-07-04 21:11:37


Andrey Semashev wrote:

> I was wondering why the throw_exception function is not marked as
> noreturn? This makes it troublesome to use it as a drop-in replacement
> for throw statements as it starts to flag compiler warnings about
> missing return statements in non-void functions.
>
> I suggest to mark the function as noreturn at least for compilers that
> support it. GCC has __attribute__((noreturn)), MSVC has
> __declspec(noreturn).

Why is throw_exception detected as returning something in the first place?

I've personally tried to force __attribute__((noreturn)) with GCC, but
it doesn't work, it says the function does return.

Looking at the code though, I can't tell what is wrong with it.
A fix to that would be appreciated. Without that, I'd personally rather
not use throw_exception.


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