Gregory Turner wrote:
Possible goals are:
achieve real "SEH"-style syntax, that is, no bloody __ENDTRY macro.
fix "break"
fix "return" from try/finally blocks.
These are certainly interesting goals, but they appear to be hard to achieve without compiler support ...
Anyhow, I'll take a look at the dwarf2 goodies, maybe I'll decide that it's do-able, but more trouble than its worth... either way, I intend to make some kind of patch out of this whole investigation, as I am pretty darn sure I can at least fix one of the forementioned deficiencies, maybe even two, without making any major sacrifices.
I don't quite see how dwarf2 unwinding fits into this. Is this just to be able to avoid the setjmp?
Note that g++ exception handling with dwarf2 works quite different from MSVC exception handling -- the former hooks exception processing into the dwarf2 frame 'personality' routines, while the latter uses the exception frame chain anchored in the TEB ...
Bye, Ulrich