[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++

KJK::Hyperion hackbunny at reactos.com
Wed Dec 31 18:39:12 CET 2008


Timo Kreuzer wrote:
> Yes, it's fixed now. At least this case. It's still not the holy grail I
> think.

Fix it then

> The compiler assumes that on entering the except block, that not a
> single instruction of the try block has been executed.

This is a reasonable assumption. It's also the same identical thing that
happened with PSEH 1. A __try is supposed to imply barriers around any
instruction, because any instruction could throw. We can't do that. The
best we can do is make critical variables volatile, which implies a
barrier in every access to them

> I don't think you can get this handled equally without hacking it into gcc.

No, you think I should use a nested function for __except bodies but,
for some reason, you prefer not to share this notion with me


More information about the Ros-dev mailing list