Gennaro Prota <[EMAIL PROTECTED]> writes:

> On Tue, 03 Dec 2002 20:55:02 -0500, David Abrahams
> <[EMAIL PROTECTED]> wrote:
>
>>
>>I'd like a macro to detect that a compiler requires a return value
>>even when no paths return from a function. Example:
>>
>>    int f()
>>    {
>>        throw "hello";
>>    };
>>
>>If this fails to compile, we may need to add a dummy "return 0;" at
>>the end.
>
> I'm a little surprised by this question. Are you saying that *no*
> paths return a value and you declare the function as non void?

Yes. Actually I was wrong about aCC; it only warns. Still annoying, though.

> Maybe you were referring to a situation like this?
>
>
>   // The throw is conditional, and there's at
>   // least one path that does return a value
>   //
>   template <typename ExceptionT>
>   void do_throw(ExceptionT const & ex) { throw ex; }
>
>
>   int f() {
>     for ( ...)
>       if  (...)
>         return somevalue;
>
>     do_throw( some_exception() );
>   }

No. There are several instances like the one I cited in our test suite
(the function lib, I think).


-- 
                       David Abrahams
   [EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to