On Mon, Feb 12, 2007 at 10:06:11AM -0800, Mark Mitchell wrote:
> Does it seem overly aggressive to you to assume "f" cannot throw
> in "g", given:
> 
>   void f() {}
>   void g() { f(); }
> 
> where this code is in a shared library?

Yes.

If F is part of the exported (and overridable) interface of
the shared library, one should be able to replace it with
any valid function.

If the shared library needs F to not be able to throw, then
one can just as easily define the function interface to be 

  void f() throw();

If F was mistakenly placed in the overridable interface of
the shared library, then the fix is elsewhere.


r~

Reply via email to