This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
> and it needs a means to specify the exit block/exceptions.
Hmm?
What if I want to say that the asm might throw an exception? That requires an edge to the exit block.
You can add a label and throw there, like:
#define JO _JO(__COUNTER__)
#define_JO(N) \ { \ register char *foo asm("%rax"); \ if (1) \ asm goto ("mov %0, %%rax; jo %l0" : : "a" ("overflow") : : \ throw##N); \ else throw##N: throw overflow_exception(foo); \ }
No it doesn't. Exception handling isn't modeled that way. It does require stmt_could_throw_p return true though.
+------------------------------------------------------------+ | Alexander M. Rosenberg <mailto:alexr@leftfield.org> | | Nobody cares what I say, so no disclaimer appears here. |
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |