[ros-dev] [ros-diffs] [hyperion] 38461: modified tests/pseh2/psehtest.c finally_13 test re-enabled, as it doesn't crash anymore finally_14 test fixed. Now we know how exceptions thrown in a __finally are supposed to be handled PSEH test suite now has 91 tests and passes all of them with both GCC and Visual C++

Thomas Bluemel thomas at reactsoft.com
Wed Dec 31 16:18:45 CET 2008


Timo Kreuzer wrote:
> This case isn't that bad. We just have the following requirement:
> Do not make any assumptions about the order in which code is executed 
> inside the try block!
> Not even if normally you could say that something must be executed in a 
> special order (like x = func1(); y = func2(x);)

Functions are called in the order you expect, unless the compiler is 
able to analyze/inline them (such as static/inline functions) or unless 
the code is written in a manner where the order is not defined by the 
specification of the language (e.g. multiple calls to functions in 
arguments for a function call). Anything the compiler doesn't know at 
compile-time won't be re-ordered. This applies to all optimizers 
(link-time optimizations may allow to re-order them though).

Thomas


More information about the Ros-dev mailing list