agra
6f77c55613
ERR/E4.1 (slice 1): log + is_comptime + process.exit/assert (+ noreturn codegen)
...
Stdlib slice of Phase E4, plus the noreturn codegen fix that enables it.
noreturn codegen (the enabling bug): E1.4c made `noreturn` type-system-only;
this is its first backend consumer and it crashed LLVM verification. Fixed:
- lower.zig: a `-> noreturn` body lowers as statements ending in `unreachable`
(ensureTerminator emits unreachable; the two body-lowering sites no longer
treat the last expr as a `ret`).
- emit_llvm.zig: a `void`/`noreturn` call result stays unnamed (direct +
foreign call sites) — LLVM rejects a named void value.
- finishCatchHandler: a `noreturn` value-carrying catch body (which is not an
IR terminator) closes the handler with `unreachable` instead of feeding a
bad value into the merge phi. Shared by lowerCatch + lowerCatchOverChain.
is_comptime(): new nullary `.is_comptime` IR op (inst/print/interp/emit_llvm) —
interp evaluates true, emit_llvm emits constant false, so `if is_comptime()`
dead-codes out of compiled binaries. Recognized by name in
tryLowerReflectionCall + inferExprType (no std.sx decl, which would emit a
spurious `declare @is_comptime` into every module).
library/modules/log.sx: warn/info/debug/err — interpolate like print, write
`LEVEL: <msg>` to stderr. (`error` is reserved → the level is `log.err`.)
process.exit(code) -> noreturn + assert(cond, msg) in process.sx. `exit` is
POSIX `_exit(2)` (immediate, no cleanup; sx print is unbuffered so nothing is
lost), bound to "_exit" which also avoids a link-level clash with the sx `exit`
function's own name.
examples 248 (exit 0), 249 (exit 42), 250 (exit 1). #caller_location, the
comptime-exit diagnostic flush, and trace.print_interpreter_frames deferred to
E4.1b.
2026-06-01 11:11:56 +03:00
..
2026-05-24 22:59:20 +03:00
2026-05-24 22:59:20 +03:00
2026-06-01 08:51:44 +03:00
2026-03-06 10:46:28 +02:00
2026-05-30 17:36:35 +03:00
2026-05-29 12:33:27 +03:00
2026-02-09 18:07:41 +02:00
2026-02-09 18:07:41 +02:00
2026-02-14 13:17:22 +02:00
2026-02-09 18:07:41 +02:00
2026-02-09 18:07:41 +02:00
2026-02-09 18:07:41 +02:00
2026-02-09 18:07:41 +02:00
2026-02-09 18:07:41 +02:00
2026-02-24 15:10:02 +02:00
2026-05-24 22:59:20 +03:00
2026-02-24 17:37:52 +02:00
2026-05-28 14:02:10 +03:00
2026-02-11 14:22:25 +02:00
2026-02-09 18:07:41 +02:00
2026-02-24 17:37:52 +02:00
2026-02-14 13:17:22 +02:00
2026-02-09 18:07:41 +02:00
2026-02-11 13:03:04 +02:00
2026-05-27 21:30:48 +03:00
2026-05-27 21:30:48 +03:00
2026-02-14 14:52:39 +02:00
2026-02-24 17:37:52 +02:00
2026-02-16 01:13:34 +02:00
2026-02-24 06:20:38 +02:00
2026-02-11 01:05:21 +02:00
2026-02-22 22:16:30 +02:00
2026-02-11 20:41:43 +02:00
2026-02-26 02:25:02 +02:00
2026-02-12 12:27:35 +02:00
2026-02-14 13:17:22 +02:00
2026-02-14 14:52:39 +02:00
2026-05-24 22:59:20 +03:00
2026-02-22 22:16:30 +02:00
2026-02-22 17:24:04 +02:00
2026-02-22 17:24:04 +02:00
2026-02-22 17:24:04 +02:00
2026-02-24 17:37:52 +02:00
2026-02-25 15:51:22 +02:00
2026-03-02 21:00:55 +02:00
2026-05-27 21:30:48 +03:00
2026-03-04 17:12:56 +02:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-25 08:41:50 +03:00
2026-05-25 08:41:50 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 13:19:08 +03:00
2026-05-17 17:46:17 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-24 22:59:20 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-17 19:36:37 +03:00
2026-05-18 00:11:23 +03:00
2026-05-18 00:11:23 +03:00
2026-05-18 00:11:23 +03:00
2026-05-18 17:40:10 +03:00
2026-05-18 17:40:10 +03:00
2026-05-18 17:40:10 +03:00
2026-05-18 17:40:10 +03:00
2026-05-18 17:40:10 +03:00
2026-05-18 17:40:10 +03:00
2026-05-18 17:40:10 +03:00
2026-05-19 12:06:08 +03:00
2026-05-19 12:06:08 +03:00
2026-05-25 08:41:50 +03:00
2026-05-25 08:41:50 +03:00
2026-05-27 00:34:26 +03:00
2026-05-25 08:41:50 +03:00
2026-05-18 18:32:55 +03:00
2026-05-24 22:59:20 +03:00
2026-05-19 00:22:35 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 19:18:31 +03:00
2026-05-19 21:14:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-27 21:30:48 +03:00
2026-05-22 19:03:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-22 19:03:31 +03:00
2026-05-23 01:28:32 +03:00
2026-05-24 22:59:20 +03:00
2026-05-25 15:33:28 +03:00
2026-05-24 22:59:20 +03:00
2026-05-24 22:59:20 +03:00
2026-05-24 22:59:20 +03:00
2026-05-25 15:23:13 +03:00
2026-05-25 09:50:37 +03:00
2026-05-25 11:41:59 +03:00
2026-05-25 12:18:27 +03:00
2026-05-25 15:01:58 +03:00
2026-05-25 15:33:28 +03:00
2026-05-25 15:45:33 +03:00
2026-05-25 15:59:32 +03:00
2026-05-25 17:52:53 +03:00
2026-05-25 21:15:44 +03:00
2026-05-25 21:16:32 +03:00
2026-05-25 21:33:20 +03:00
2026-05-25 22:08:23 +03:00
2026-05-25 22:14:31 +03:00
2026-05-25 22:23:59 +03:00
2026-05-25 22:58:20 +03:00
2026-05-25 23:17:30 +03:00
2026-05-25 23:25:13 +03:00
2026-05-25 23:33:52 +03:00
2026-05-25 23:40:51 +03:00
2026-05-25 23:43:46 +03:00
2026-05-27 09:49:41 +03:00
2026-05-26 01:45:21 +03:00
2026-05-26 01:49:31 +03:00
2026-05-26 01:56:25 +03:00
2026-05-27 12:09:04 +03:00
2026-05-27 12:50:23 +03:00
2026-05-27 13:49:44 +03:00
2026-05-27 14:52:43 +03:00
2026-05-27 15:44:05 +03:00
2026-05-27 16:22:49 +03:00
2026-05-27 16:34:26 +03:00
2026-05-27 16:34:26 +03:00
2026-05-30 02:09:41 +03:00
2026-05-31 10:57:21 +03:00
2026-05-27 16:43:04 +03:00
2026-05-27 17:20:37 +03:00
2026-05-27 17:23:47 +03:00
2026-05-27 17:26:27 +03:00
2026-05-27 17:48:39 +03:00
2026-05-27 18:52:41 +03:00
2026-05-27 19:05:16 +03:00
2026-05-27 19:19:32 +03:00
2026-05-27 19:20:54 +03:00
2026-05-27 21:09:25 +03:00
2026-05-27 21:29:08 +03:00
2026-05-27 21:44:39 +03:00
2026-05-27 21:48:10 +03:00
2026-05-27 21:57:47 +03:00
2026-05-28 07:50:59 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:08:54 +03:00
2026-05-28 12:14:52 +03:00
2026-05-28 12:14:52 +03:00
2026-05-28 12:14:52 +03:00
2026-05-28 12:14:52 +03:00
2026-05-28 12:14:52 +03:00
2026-05-28 12:14:52 +03:00
2026-05-28 12:17:49 +03:00
2026-05-28 12:24:49 +03:00
2026-05-28 14:02:10 +03:00
2026-05-29 19:45:49 +03:00
2026-05-29 17:55:11 +03:00
2026-05-29 18:01:48 +03:00
2026-05-29 18:53:32 +03:00
2026-05-29 19:24:06 +03:00
2026-05-29 19:34:03 +03:00
2026-05-29 19:45:49 +03:00
2026-05-29 19:53:04 +03:00
2026-05-29 20:07:41 +03:00
2026-05-29 20:39:57 +03:00
2026-05-31 10:57:21 +03:00
2026-05-29 22:00:42 +03:00
2026-05-30 01:50:29 +03:00
2026-05-30 02:09:41 +03:00
2026-05-30 02:17:55 +03:00
2026-05-30 02:30:49 +03:00
2026-05-30 02:41:01 +03:00
2026-05-30 02:45:46 +03:00
2026-05-30 03:00:58 +03:00
2026-05-30 03:06:03 +03:00
2026-05-30 03:11:55 +03:00
2026-05-30 03:15:07 +03:00
2026-05-30 03:25:04 +03:00
2026-05-30 03:46:46 +03:00
2026-05-30 10:30:57 +03:00
2026-05-31 13:56:45 +03:00
2026-05-31 14:17:25 +03:00
2026-05-31 17:59:47 +03:00
2026-05-31 17:59:47 +03:00
2026-05-31 19:09:32 +03:00
2026-05-31 19:09:32 +03:00
2026-05-31 19:47:19 +03:00
2026-05-31 19:47:19 +03:00
2026-05-31 20:21:44 +03:00
2026-05-31 20:21:44 +03:00
2026-05-31 21:04:06 +03:00
2026-05-31 21:10:56 +03:00
2026-05-31 21:10:56 +03:00
2026-05-31 21:42:51 +03:00
2026-05-31 22:05:44 +03:00
2026-05-31 22:05:44 +03:00
2026-05-31 22:16:28 +03:00
2026-05-31 22:16:28 +03:00
2026-05-31 22:29:40 +03:00
2026-05-31 22:29:40 +03:00
2026-06-01 00:16:39 +03:00
2026-06-01 00:40:05 +03:00
2026-06-01 01:14:24 +03:00
2026-06-01 01:42:53 +03:00
2026-06-01 10:00:03 +03:00
2026-06-01 07:47:32 +03:00
2026-06-01 08:58:57 +03:00
2026-06-01 08:51:44 +03:00
2026-06-01 08:58:57 +03:00
2026-06-01 09:48:32 +03:00
2026-06-01 10:00:03 +03:00
2026-06-01 10:31:43 +03:00
2026-06-01 10:31:43 +03:00
2026-06-01 11:11:56 +03:00
2026-06-01 11:11:56 +03:00
2026-06-01 11:11:56 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-19 11:54:36 +03:00
2026-05-25 09:50:37 +03:00
2026-05-19 11:51:34 +03:00
2026-05-19 11:57:44 +03:00
2026-05-19 11:57:44 +03:00
2026-05-19 12:01:01 +03:00
2026-05-19 11:59:18 +03:00
2026-05-19 11:59:18 +03:00
2026-05-19 11:59:18 +03:00
2026-05-22 13:13:43 +03:00
2026-05-27 21:30:48 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 15:13:33 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 13:53:25 +03:00
2026-05-20 13:53:25 +03:00
2026-05-23 01:28:32 +03:00
2026-05-23 01:28:32 +03:00
2026-05-20 12:46:40 +03:00
2026-05-20 12:46:40 +03:00
2026-05-25 16:32:32 +03:00
2026-05-20 12:46:40 +03:00
2026-05-20 12:46:40 +03:00
2026-05-20 12:46:40 +03:00
2026-05-20 12:46:40 +03:00
2026-05-20 12:46:40 +03:00
2026-05-23 01:28:32 +03:00
2026-05-20 10:32:56 +03:00
2026-05-20 10:47:07 +03:00
2026-05-20 12:51:48 +03:00
2026-05-20 14:50:21 +03:00
2026-05-20 16:57:30 +03:00
2026-05-25 16:32:32 +03:00
2026-05-26 22:46:56 +03:00
2026-05-26 22:46:56 +03:00
2026-05-26 22:38:32 +03:00
2026-05-26 22:58:30 +03:00
2026-05-26 22:58:30 +03:00
2026-05-19 12:40:21 +03:00
2026-05-19 12:48:38 +03:00
2026-05-19 13:01:28 +03:00
2026-05-19 18:39:10 +03:00
2026-05-19 18:44:14 +03:00
2026-05-19 18:50:26 +03:00
2026-05-19 18:51:56 +03:00
2026-05-19 18:53:19 +03:00
2026-05-19 21:14:31 +03:00
2026-05-20 15:13:33 +03:00
2026-05-19 20:12:09 +03:00
2026-05-19 21:19:09 +03:00
2026-05-25 23:29:55 +03:00
2026-05-28 14:24:02 +03:00
2026-05-25 16:07:19 +03:00
2026-05-25 16:07:19 +03:00
2026-05-25 16:07:19 +03:00
2026-05-25 16:07:19 +03:00
2026-05-25 16:32:32 +03:00
2026-05-25 16:55:32 +03:00
2026-05-25 17:03:16 +03:00
2026-05-31 10:29:16 +03:00
2026-05-31 11:13:57 +03:00
2026-05-17 21:17:17 +03:00
2026-05-30 17:36:35 +03:00