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