Repository navigation
Changelog
- 5e49960: Fix crash on a struct literal field from a reference-typed parameter (#1420) (@marcauberer)
- cc00645: Fix struct default members going undefined depending on declaration order (#1421) (@marcauberer)
- 6dafed9: Port ImportCollector and SymbolTableBuilder to the bootstrap compiler (#1423) (@marcauberer)
- 8573f84: Make ternary of two lvalues yield a reference (#1424) (@marcauberer)
- b746217: Add Vector.popBack() (#1425) (@marcauberer)
- 62eecb5: Replace bootstrap cycle interfaces with concrete types (#1426) (@marcauberer)
- 29aacc8: Sync the bootstrap driver with the host driver (#1427) (@marcauberer)
- 4ac5525: Bump zensical from 0.0.62 to 0.0.64 in /docs (#1429) (@dependabot[bot])
- 272291b: Port TypeMatcher and the typechecker managers to the bootstrap compiler (#1428) (@marcauberer)
- b58be92: Bring the bootstrap parser to AST parity with the host ASTBuilder (#1430) (@marcauberer)
- 272654d: Port the type checker prepare stage and the OpRuleManager to the bootstrap compiler (#1431) (@marcauberer)
- 9d04032: Bump github/codeql-action from 4.38.1 to 4.38.2 in /.github/workflows (#1438) (@dependabot[bot])
- e0bdafb: Fix coverage report generation failing on gcov suspicious-hits bug (#1439) (@marcauberer)
- 8b9e519: Port the type checker expressions, statements and control structures to the bootstrap compiler (#1440) (@marcauberer)
- 1a87c44: Port the type checker value visitors to the bootstrap compiler (#1443) (@marcauberer)
- 5a7189c: Fix syscall builtin argument limit, result value and count error message (#1444) (@marcauberer)
- c25667b: Do not cut error snippet context in the middle of a token (#1445) (@marcauberer)
- cc7d11c: Report division by zero for compile-time remainder expressions (#1446) (@marcauberer)
- 72d3ccc: Fix leak of key and value in RedBlackTree.remove (#1448) (@marcauberer)
- fbdba64: Destruct bootstrap AST nodes as their concrete node types (#1449) (@marcauberer)
- 6adef92: Enforce branch naming convention for Claude Code sessions (#1450) (@marcauberer)
- e63330e: Destruct old value when moving a temporary into an initialized struct (#1451) (@marcauberer)
- 221678d: Port the type checker check stage to the bootstrap compiler (#1452) (@marcauberer)
- 91fdd7c: Add bootstrap test mode to run the reference suites against the bootstrap compiler (#1453) (@marcauberer)
- 7d6fc3f: Fix crash on struct field init from reference with overloaded operator= (#1447) (@marcauberer)
- 1f1866e: Port the type checker builtin functions to the bootstrap compiler (#1454) (@marcauberer)
- cbbee96: Extend widening integer conversions by the source signedness (#1457) (@marcauberer)
- dec6be6: Wire the type checker into the bootstrap compiler pipeline (#1461) (@marcauberer)
- de68ef6: Fix switch without default branch being treated as always returning (#1462) (@marcauberer)
- 3457cac: Fix runtime bool == / != comparisons always comparing equal (#1463) (@marcauberer)
- 10a118d: Deep-copy struct values assigned to fields from reference-returning calls (#1464) (@marcauberer)
- 94dc7b8: Copy non-local struct values returned by value instead of shallow-copying them (#1466) (@marcauberer)
- 6265d19: Finish the bootstrap compiler middle end (#1465) (@marcauberer)
- 1a5f704: Simplify Spice coding (#1467) (@marcauberer)
- 70fb813: Run the bootstrap compiler test mode in CI (#1468) (@marcauberer)
- d4963b7: Match the code generation opt level to the selected opt level (#1469) (@marcauberer)
- 1b46f0a: Only mark 'this' params as nonnull and dereferenceable (#1470) (@marcauberer)
- 03c1f3b: Port host compiler backend to bootstrap (#1471) (@marcauberer)
- 91e090d: Fix constant fall-through for function-typed struct field defaults (#1472) (@marcauberer)
- 9aee56d: Document keeping host and bootstrap compilers in sync (#1474) (@marcauberer)
- a8b7484: Report ambiguous names from colliding imports (#1473) (@marcauberer)
- cdb4d10: Fix bootstrap compiler gaps in the lexer to type checker test suites (#1475) (@marcauberer)
- 31d2722: Wrap core linker flags in archive group on Linux (#1476) (@marcauberer)
- 857b736: Port the debug info generator to the bootstrap compiler (#1477) (@marcauberer)
- 4a07ebb: Run the common test suite against the bootstrap compiler (#1478) (@marcauberer)
- 01e40c0: Simplify bootstrap coding (#1480) (@marcauberer)
- 6e22354: Port the lint pass to the bootstrap compiler (#1481) (@marcauberer)
- 88f4fb0: Remove linter from host compiler (#1482) (@marcauberer)
- bbd116b: Remove CST dump from host compiler and --dump-cst from both compilers (#1483) (@marcauberer)
- b9f7fcf: Bootstrap code improvements (#1484) (@marcauberer)
- 41ebe72: Bootstrap: add DependencyGraphVisualizer, fix symbol table cache guard, implement getTotalLineCount (#1485) (@marcauberer)
- 444f062: Bootstrap: port CacheManager + add std copyFile/moveFile (#1486) (@marcauberer)
- 85c7384: Bootstrap: close parity gaps with the host compiler (#1487) (@marcauberer)
- 9a90bd8: Keep unsigned integers unsigned in literals and operation results (#1488) (@marcauberer)
- e3e56ad: Run IRGeneratorTests and StdTests against the bootstrap compiler in CI (#1489) (@marcauberer)
- 936ebc1: Bump zensical from 0.0.64 to 0.0.67 in /docs (#1491) (@dependabot[bot])
- 044c35f: Add std bindings for the TPDE back end (#1490) (@marcauberer)
- 796bd9c: Ship TPDE with the Linux release packages (#1492) (@marcauberer)
- 721a8de: Make compiler output deterministic across runs (#1494) (@marcauberer)
- 325670c: Add bootstrap fixed point script and CI workflow (#1493) (@marcauberer)
- 4066105: Build TPDE without coverage instrumentation (#1495) (@marcauberer)
- a3c32e3: Do not warn about identity casts that change the signedness (#1496) (@marcauberer)
- c5a4450: Fix compile warnings of the bootstrap compiler (#1497) (@marcauberer)
- db7c327: Bootstrap: port GlobalResourceManager cleanup (#1498) (@marcauberer)
- ead42a4: Fix dtor leaks on return paths that do not return the local (#1499) (@marcauberer)
- 57df1ce: Bootstrap: port the TPDE backend (#1500) (@marcauberer)
- e5b30ae: Bootstrap: port the parallel back end (#1501) (@marcauberer)
- 37be22b: Bootstrap: make the main source file path relative (#1502) (@marcauberer)
- f4557a1: Bootstrap: run the linker and other external programs without a shell (#1503) (@marcauberer)
- 6c75db1: Std: fix Queue for elements that own memory (#1504) (@marcauberer)
- 4fba4a8: Bootstrap: use the correct TypeSanitizer pass name (#1505) (@marcauberer)
- a8680c3: Make the relational operators <, >, <= and >= overloadable (#1506) (@marcauberer)
- 8703136: Std: fix PriorityQueue for items that own memory (#1507) (@marcauberer)
- a7faff2: Fix the compile-time value of && chains (#1509) (@marcauberer)
- 3014e50: Fix field indices of structs with a synthesized vtable pointer (#1508) (@marcauberer)
- 7f0e008: Build TPDE without sanitizer instrumentation (#1510) (@marcauberer)
- dc7b31f: Store the vtable pointer in struct literals of structs with a synthesized vtable (#1511) (@marcauberer)
- 3f535ac: Look up struct manifestations in the name registry in constant time (#1512) (@marcauberer)
- 1bc6a0c: Return base types from Type::getBase without a registry lookup (#1513) (@marcauberer)
- 27efb03: Ship a release build of the bootstrap compiler as spice-bootstrap (#1514) (@marcauberer)
- 03f3b77: Fix linking the bootstrap compiler in the release workflow (#1515) (@marcauberer)
What to do next?
- Install Spice
- Visit www.spicelang.com to test the new features