Boost logo

Boost :

Subject: Re: [boost] [c++1] BOOST_NOEXCEPT macros?
From: Thorsten Ottosen (thorsten.ottosen_at_[hidden])
Date: 2011-10-20 09:30:17


Den 20-10-2011 15:15, Stewart, Robert skrev:
> Domagoj Saric wrote:
>> On 19.10.2011. 17:47, Stewart, Robert wrote:
>>
>>> Using (1) on existing code could change behavior.
>>
>> Again, how could it change behaviour? Unless, again,: "...there is
>> a real world person/problem that depends on the defined
>> std::unexpected/std::terminate behaviour of noexcept as opposed to
>> undefined or implementation defined behaviour of a compiler
>> specific in case "someone violates a promise given about the
>> particular function"..."
>
> State it however you might like, but telling a compiler that a
> function no longer emits any exceptions can mean changes in
> optimization, insertion of validation logic, etc., which can *change
> behavior*.
>

If the question is:

  "If a function in boost is documented and guaranteed to
   throw no exception, can
   adding an attribute that is (a) non-detectable by the programmer
   and (b) which does not affect the signature of the function or a
   pointer to the function change the /observed behavior/ of the program?

then would the answer not always be

  "no"

-Thorsten


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