Commit Graph

34994 Commits

Author SHA1 Message Date
80dead078d stages_test: enable exp, atan, expm1, gamma, log1p, zon/parse
All float-tag mismatches resolved by the 128-bit decimal_float_fits_f64.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:27:13 +00:00
3f8eed8a60 stages_test: enable 22 more corpus files; upgrade decimal_float_fits_f64 to 128-bit
Upgrade decimal_float_fits_f64() to use 128-bit integer arithmetic for the
algebraic round-trip test, handling mantissas up to ~38 significant digits.
This fixes float128-vs-float tag mismatches for values that fit in 128-bit
mantissa but overflow 64-bit.

Newly enabled: gpu, memmove, mulf3, udivmodei4, udivmod, scalar, ff,
p256_64, p256_scalar_64, p384_64, p384_scalar_64, secp256k1_64,
secp256k1_scalar_64, sha2, sha3, Decompress, testing, log10, log2, log,
rem_pio2f, rem_pio2_large, rem_pio2.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:15:26 +00:00
f9a3d39552 astgen: fix decimal_float_fits_f64 for non-zero underflow, enable divtf3_test, divxf3_test
decimal_float_fits_f64() incorrectly returned true when a non-zero mantissa
(that had overflowed uint64_t) was converted to 0.0 by strtod. These values
do not fit in f64 and need f128 representation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 05:50:38 +00:00
4cfde11ef0 astgen: fix ptrTypeExpr addrspace, do_err_trace check, switchExpr capture, blockExprStmts heap alloc
- ptrTypeExpr: use addBuiltinValue + RL_COERCED_TY for addrspace (matching
  AstGen.zig:3880-3881) instead of RL_NONE_VAL
- do_err_trace: check ag->fn_block != NULL instead of ag->fn_ret_ty != 0 in
  ifExpr, orelseCatchExpr, switchExprErrUnion (matching Zig semantics)
- switchExpr: don't reset capture for underscore discards (AstGen.zig:7870)
- nodeIsTriviallyZero: handle prefixed zero forms (0b0, 0o0, 0x0, with
  underscores)
- blockExprStmts: heap-allocate scope arrays sized to stmt_count instead of
  fixed 128, fixing compile errors on large blocks (e.g. scalar.zig)
- build.zig: increase default test timeout from 10s to 300s
- Remove debug fprintf counters

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 05:30:35 +00:00
fbba8b99fd astgen: fix decimal_float_fits_f64 underflow and enable 700+ corpus files
Fix strtod underflow/overflow edge cases in decimal_float_fits_f64.
Enables 707 files across lib/std/, lib/compiler_rt/, src/, and more.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 04:47:13 +00:00
99d615e4b4 astgen: fix fnProtoExprInner lparen computation for named fn protos
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 03:23:19 +00:00
f1e0ec3926 astgen: use plain expr instead of comptimeExpr for @setRuntimeSafety operand
Enables 326 files from compiler/, compiler_rt/, and more.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:39:04 +00:00
e9fa136c58 astgen.c: fix forExpr to use nodeIsTriviallyZero for range start check
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 22:47:52 +00:00
cfaa83f991 parser: fix extra_data write ordering in parseSwitchProng for multi-item switch cases
Enables 39 files from compiler/aro/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 22:36:07 +00:00
ad3ecc9900 stages_test: enable time_report.zig, common.zig, inttypes.zig, and 6 files from compiler/aro/
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 22:11:17 +00:00
a54f963b66 astgen.c: port @trap builtin handler from upstream AstGen.zig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 22:01:36 +00:00
316b91164d astgen: port lib_name handling for extern fn declarations from upstream Zig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 21:52:29 +00:00
0cefdfbb1f add skill 2026-02-16 21:28:50 +00:00
271ff83304 stages_test.zig 2026-02-16 21:25:28 +00:00
9daa4bc6ba astgen.c: replace UINT32_MAX sentinels with NULL_TOKEN/NULL_NODE/NULL_INST
Define named constants for the three categories of optional sentinel
values, matching their Zig counterparts (?TokenIndex null,
?Node.Index null, Zir.Inst.OptionalIndex .none). This makes intent
explicit and prevents sentinel/zero confusion bugs like the one
fixed in 455967af.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 20:32:51 +00:00
455967af5a fix break label check in rlExpr: use UINT32_MAX sentinel instead of 0 for optional token
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:37:50 +00:00
4857895067 astgen: fix InternPool.zig — parser fallthrough for struct/enum/union, add @compileLog, fix @"..." escape scanning
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:18:20 +00:00
d635962dc4 astgen_test: enable Compilation.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:27:32 +00:00
310f8afbf4 astgen.c: port @errorReturnTrace, nosuspend expr, and remaining zero-arg builtins
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:24:25 +00:00
981c19c113 Fix identAsString for @"..." identifiers with escape sequences
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:05:35 +00:00
47856ccc80 astgen.c: port @wasmMemorySize and @wasmMemoryGrow builtins
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:54:02 +00:00
7df8a96cb4 astgen_test: enable print_value, target, link, Air, print_zir, Value, Type, translate_c corpus tests (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:44:44 +00:00
504a2eea71 astgen_test: enable while.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:41:28 +00:00
1815a610d9 astgen.c: port @cVaArg, @cVaCopy, @cVaEnd, @cVaStart builtins from AstGen.zig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:37:43 +00:00
4077250e26 astgen.c: call identAsString before underscore check in whileExpr to match upstream string table ordering
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:29:14 +00:00
5760399448 astgen_test: enable type_info.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:14:05 +00:00
0f9e0a9de9 astgen.c: add rvalue call to callExpr, matching upstream AstGen.zig:10169
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:11:42 +00:00
fe95412fad fix labeled switch: parser passes is_labeled flag, init GenZir continue_block/label_token to UINT32_MAX
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:01:25 +00:00
56a64e81b8 astgen.c: port @src builtin (ZIR_EXT_BUILTIN_SRC), enable src.zig and string_literals.zig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:38:11 +00:00
d9d97e8a58 astgen_test: enable sizeof_and_typeof.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:29:52 +00:00
23a0fa0aad astgen.c: port @select builtin (ZIR_EXT_SELECT)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:27:58 +00:00
d7f84501bb astgen.c: port @returnAddress builtin (ZIR_EXT_RET_ADDR)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:14:55 +00:00
a1495b2f84 astgen_test: enable prefetch.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:08:55 +00:00
37f4c9041d astgen_test: enable multiple_externs_with_conflicting_types.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:07:03 +00:00
c554ee6912 astgen.c: implement @mulAdd builtin handler
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:05:14 +00:00
624be34bb8 astgen.c: port multi-arg @min/@max builtins (minMax, AstGen.zig:9149-9189)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:55:41 +00:00
23f192fea9 astgen_test: enable import_c_keywords.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:45:04 +00:00
9df21a7ec5 astgen_test: enable generics.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:43:15 +00:00
1a4e8f41ff astgen_test: enable fn.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:41:25 +00:00
e2e22df864 astgen.c: port @extern builtin handler (AstGen.zig:9331-9341)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:39:37 +00:00
6880ff184c astgen_test: enable export_keyword.zig corpus test (already passing)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:30:29 +00:00
90974a8206 astgen: fix gzUnstack/gzAppendInstruction ordering in comptime destructure assignments
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 12:28:40 +00:00
ee55952729 astgen.c: implement errdefer payload capture and genDefersBoth for defer.zig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 11:59:27 +00:00
e117891af5 astgen.c: port @breakpoint and @prefetch builtins to enable builtin_functions_returning_void_or_noreturn corpus test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 11:28:56 +00:00
74cdbe0a2d astgen.c: boolBinOp: pass coerced_bool_ri and use fullBodyExpr for RHS, matching upstream AstGen.zig
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 11:14:11 +00:00
1bd8d355b4 update port-astgen skill: full test in Phase 0, fix corpus search pattern
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:50:43 +00:00
932b4137c3 astgen: fix hex float f64-fits check to use pure integer test, fixing math.zig under valgrind
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:50:22 +00:00
f1a3f75d29 astgen_test: simplify corpus_files to plain path strings
Refactor corpus_files from .{ "name", @embedFile("path") } tuples to
just "path" strings. The @embedFile is now called inline in the test
loop. Port from zig1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:15:23 +00:00
a739d67bf8 port @atomicLoad, @atomicRmw, @atomicStore, @cmpxchgStrong, @cmpxchgWeak builtins to astgen.c
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:12:29 +00:00
597a68e7db add zig3 wrapper 2026-02-16 09:56:04 +00:00