diff options
| author | 2025-11-15 19:53:47 +0100 | |
|---|---|---|
| committer | 2025-11-15 19:53:47 +0100 | |
| commit | 2ca9a54daaa0a955dabf38862cd777be359252e0 (patch) | |
| tree | 51a0e9470a5bbd4bbe0b1d00fc50da2dc9ad9d93 /ir/builder.c | |
| parent | 1910d875cfcad320cbb87c5e8c846d5c53846a1a (diff) | |
ir: 'trap' jump; c: __builtin_trap; lex: __has_builtin
Diffstat (limited to 'ir/builder.c')
| -rw-r--r-- | ir/builder.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ir/builder.c b/ir/builder.c index 640c1fd..1d73314 100644 --- a/ir/builder.c +++ b/ir/builder.c @@ -207,11 +207,19 @@ putcondbranch(struct function *fn, union ref arg, struct block *t, struct block void putreturn(struct function *fn, union ref r0, union ref r1) { + assert(fn->curblk); adduse(fn->curblk, USERJUMP, r0); adduse(fn->curblk, USERJUMP, r1); putjump(fn, Jret, r0, r1, NULL, NULL); } +void +puttrap(struct function *fn) +{ + assert(fn->curblk); + putjump(fn, Jtrap, NOREF, NOREF, NULL, NULL); +} + #undef putjump /* vim:set ts=3 sw=3 expandtab: */ |