KJK::Hyperion schrieb:

I'm not convinced this can work, and delimiting scopes is only half the
battle. How will you generate landing pads? or __finally blocks that are
safe to call from RtlUnwind?
This just shows your lack of imagination.
For example nested functions would do the trick. They also make sure all variables are made volatile as needed like on msvc. And it produces no overhead if done right.
No, nested function *do not* put code on the stack on x64!
Oh, I can already hear you whining... oh noes that doesn't conform to C89 standards, it's not portable, lalala
And..? Who cares? PSEH is a fucking compiler hack, 'cause gcc doesn't support it natively.
Any other compiler that can compile reactos and has no native SEH? No? Ok, so what?

Also being compatible with Windows unwind mechanisms is not just fancy or nice to have. It's needed for 3rd party software/driver compatability.

 I think I'll work on a PSEH port on my own
  
So you want to port SEH from x86? Using sjlj? Cool, dude. Now YOU explain me how you implement a longjmp on x64 without unwinding tables?
Doh!

Timo