-
8c68b09245
fix(parser): accept named integer subrange types (issue #130 bug1)
Graeme Geldenhuys
2026-06-20 15:56:18 +0100
-
3e94044550
ci(bootstrap): add branch-scoped validate-only pre-flight runs
Graeme Geldenhuys
2026-06-20 15:20:32 +0100
-
909684c57f
chore: remove stale info from code comment.
Graeme Geldenhuys
2026-06-20 15:09:09 +0100
-
008cc12785
feat(stdlib): configurable rounding for TMoney
Graeme Geldenhuys
2026-06-20 13:38:40 +0100
-
77aa15a8d8
fix(native): interface argument to a record-returning free function
Graeme Geldenhuys
2026-06-20 13:38:20 +0100
-
36cad37423
feat(stdlib): add Numerics.Money — currency-aware TMoney
Graeme Geldenhuys
2026-06-20 10:33:35 +0100
-
62331de986
fix(qbe): record copy must use field-width loads/stores
Graeme Geldenhuys
2026-06-20 09:34:19 +0100
-
077f13b669
fix(native): interface argument to a record-returning method
Graeme Geldenhuys
2026-06-20 03:57:08 +0100
-
06a6bc0d1e
fix(native): method call on a transient record-returning result
Graeme Geldenhuys
2026-06-20 03:25:31 +0100
-
718ee45e20
feat(stdlib): add Numerics.Decimal — exact decimal (TDecimal)
Graeme Geldenhuys
2026-06-19 16:41:23 +0100
-
13a8a39af0
fix(compiler): incremental unit-mode crash (nil Prog.SymbolTable)
Graeme Geldenhuys
2026-06-20 02:04:58 +0100
-
47ca10d7d3
fix(native): float arguments on the managed-record sret call path
Graeme Geldenhuys
2026-06-20 01:13:58 +0100
-
738e080407
feat(compiler): make incremental compilation the default; fix dropped unit init
Graeme Geldenhuys
2026-06-19 21:05:24 +0100
-
de0ea5defb
chore(phase3): deprecate QBE in help text, guard internal linker, document toolchain
Graeme Geldenhuys
2026-06-19 18:16:46 +0100
-
91b7354c8f
fix(native): SetLength(A, N) must evaluate N before loading the array pointer
Graeme Geldenhuys
2026-06-19 17:33:39 +0100
-
30d577daae
fix(assembler): handle @tpoff relocations and %fs:disp numeric TLS access
Graeme Geldenhuys
2026-06-19 16:35:11 +0100
-
cf274eeb89
feat(native): default to internal assembler and linker
Graeme Geldenhuys
2026-06-19 14:32:58 +0100
-
dc19f39620
fix(assembler): handle \x hex escapes and # inside quoted strings in .ascii
Graeme Geldenhuys
2026-06-19 14:32:42 +0100
-
fb0baa229f
docs: mark internal linker Phases C and D as implemented
Graeme Geldenhuys
2026-06-19 10:51:09 +0100
-
3d5fdf86c8
test(linker): add internal linker e2e tests via --linker internal
Graeme Geldenhuys
2026-06-19 10:48:04 +0100
-
db309c85ea
feat(linker): wire internal linker into compiler driver + fix TLS relocations
Graeme Geldenhuys
2026-06-19 10:43:33 +0100
-
078dc81e46
feat(linker): Phase C dynamic linking — GOT/PLT, CRT objects, PIE emission
Graeme Geldenhuys
2026-06-19 10:00:08 +0100
-
8f38fd1416
feat(stdlib): add CodePointToString UTF-8 encoder to strutils
Graeme Geldenhuys
2026-06-19 09:28:53 +0100
-
12613ab68e
docs: mark internal linker Phases A and B as implemented
Graeme Geldenhuys
2026-06-19 07:56:13 +0100
-
0d47c5f996
feat(backend): default to native backend; fix codegen bugs exposed by the switch
Graeme Geldenhuys
2026-06-19 04:27:41 +0100
-
070a229e20
Revert "fix(native): suppress duplicate built-in system defs in unit-to-.o compilation"
Graeme Geldenhuys
2026-06-19 00:26:53 +0100
-
60217f9026
Revert "feat(backend): default to the native backend; QBE is now opt-in"
Graeme Geldenhuys
2026-06-19 00:26:53 +0100
-
d56bdbf84f
feat(backend): default to the native backend; QBE is now opt-in
Graeme Geldenhuys
2026-06-18 18:43:23 +0100
-
87c17ee589
fix(native): suppress duplicate built-in system defs in unit-to-.o compilation
Graeme Geldenhuys
2026-06-18 18:23:12 +0100
-
e9f705fdc8
fix(native): stage-stable char-literal byte RHS in string subscript write
Graeme Geldenhuys
2026-06-18 15:55:33 +0100
-
07aac3322f
feat(string): writable string subscript S[i] := ch with copy-on-write
Graeme Geldenhuys
2026-06-18 15:39:38 +0100
-
5b5b95c18f
fix(const): accept hex/octal/binary literals in array-const elements (#129)
Graeme Geldenhuys
2026-06-18 15:39:18 +0100
-
fe4e5602cf
feat(linker): Phase B — symbol resolution, static relocations, ET_EXEC emission
Graeme Geldenhuys
2026-06-18 14:58:24 +0100
-
7a663c561f
fix(codegen): spill overflow args in native inherited calls (>6 registers)
Andrew Haines
2026-06-17 15:54:08 -0400
-
b5573e5377
fix(codegen): metaclass constructor call in statement position
Andrew Haines
2026-06-17 15:03:59 -0400
-
fa106ceeee
feat(sets): support integer-subrange set base (set of 0..255) and Boolean operands
Graeme Geldenhuys
2026-06-18 13:25:22 +0100
-
f107b0dabc
docs: narrow the ordinal-set future-improvements entry to the unimplemented part
Graeme Geldenhuys
2026-06-18 13:00:04 +0100
-
bc0485285f
cleanup: revert KI-3 exception-handler var renames to plain E
Graeme Geldenhuys
2026-06-18 12:17:06 +0100
-
1ef226369d
fix(semantic): accept empty open-array literal [] as an open-array argument
Graeme Geldenhuys
2026-06-18 11:53:51 +0100
-
937146a3ac
fix(arrays): enum-indexed multi-dimensional arrays (#128)
Graeme Geldenhuys
2026-06-18 11:25:15 +0100
-
517ed26f5d
feat(const): integer literals and ranges in const-decl set literals
Graeme Geldenhuys
2026-06-18 11:08:00 +0100
-
6289a5235e
fix: fold Boolean/enum/named-const array-const elements + emit correct width
Graeme Geldenhuys
2026-06-18 10:50:34 +0100
-
734030932d
feat(native): single-unit compilation + incremental/warm-cache builds
Graeme Geldenhuys
2026-06-18 09:30:37 +0100
-
ebe7057bb7
feat(native): static-array-of-interface store, read, and dispatch
Graeme Geldenhuys
2026-06-18 09:07:52 +0100
-
a6378b39e2
fix(native): release the owned ref of an interface-call-result argument
Graeme Geldenhuys
2026-06-18 08:55:58 +0100
-
2d8497f2b3
fix(native): keep %rsp 16-aligned in the record-call argument hoist
Graeme Geldenhuys
2026-06-18 08:44:54 +0100
-
28a4093244
fix(native): class-level const array element access (T.Arr[I])
Graeme Geldenhuys
2026-06-18 08:12:22 +0100
-
5c1293f268
fix(native): Round() rounds half-away-from-zero to match QBE/Delphi
Graeme Geldenhuys
2026-06-18 07:57:59 +0100
-
92e09e517f
feat(native): TObject.InheritsFrom and default ToString builtins
Graeme Geldenhuys
2026-06-18 07:50:43 +0100
-
161d8e4102
fix(native): StrToDouble returns its Double in %xmm0, not %rax
Graeme Geldenhuys
2026-06-18 02:56:13 +0100
-
5dd6a3d8c9
feat(native): pass an interface-returning call result as an argument
Graeme Geldenhuys
2026-06-18 02:33:14 +0100
-
44a2bd93fb
feat(native): 3-arg Supports out-var; run RTL/stdlib e2e on both backends
Graeme Geldenhuys
2026-06-18 02:23:17 +0100
-
f39e7e1553
fix(native): interface-sret method calls with >5 args + sret frame layout
Graeme Geldenhuys
2026-06-18 02:02:46 +0100
-
66ff63e73d
fix(semantic): resolve same external in two units (was "Undeclared function")
Graeme Geldenhuys
2026-06-18 01:30:21 +0100
-
9844b38e56
fix(const): use ABI-safe RTL helper for float-const folding (was libc snprintf)
Graeme Geldenhuys
2026-06-18 01:17:57 +0100
-
d72a7d9d6f
chore: begin v0.12.0-dev cycle
Graeme Geldenhuys
2026-06-17 23:25:12 +0100
-
87531495a2
docs: update test count to 3474 for v0.11.0
Graeme Geldenhuys
2026-06-17 23:22:43 +0100
-
7a9a92aca5
release: v0.11.0
Graeme Geldenhuys
2026-06-17 23:22:20 +0100
-
c79c7e015a
fix(const): promote integer initialisers to float for Double/Single vars and typed consts
Graeme Geldenhuys
2026-06-17 22:58:29 +0100
-
8c7f5c9cbc
feat(arrays): enum-indexed static arrays in var/type declarations (#114)
Graeme Geldenhuys
2026-06-17 19:16:12 +0100
-
2dcfe8e196
feat(arrays): accept named constants and expressions as static-array bounds (#109)
Graeme Geldenhuys
2026-06-17 19:07:26 +0100
-
38c77c8a93
feat(const): fold floating-point constant expressions at compile time (#108)
Graeme Geldenhuys
2026-06-17 18:48:04 +0100
-
f6d488bca4
feat(sets): support ordinal-based set types — set of Byte / Boolean (#105)
Graeme Geldenhuys
2026-06-17 18:21:56 +0100
-
b0499aa454
fix(semantic): repair generic instance methods when type alias precedes impl (#124)
Graeme Geldenhuys
2026-06-17 16:51:26 +0100
-
0af9f9f7bf
fix(parser): allow p^.field[index] := value subscript after deref (#118)
Graeme Geldenhuys
2026-06-17 15:58:02 +0100
-
cdd1d0cbe2
fix(codegen): return fixed-size static array by value via sret (#112)
Graeme Geldenhuys
2026-06-17 15:50:22 +0100
-
d4a066aa93
fix(parser+semantic): typed array const with named type alias (#113)
Graeme Geldenhuys
2026-06-17 15:33:32 +0100
-
69e0ff6baa
fix(codegen): Boolean xor emitted as ceqw instead of xor in QBE backend
Graeme Geldenhuys
2026-06-17 15:16:59 +0100
-
a82269f48c
feat(stdlib): add Items default property to TDictionary and TOrderedDictionary
Graeme Geldenhuys
2026-06-17 15:05:02 +0100
-
2b745eaeb2
fix(codegen): native sar, unsigned compare, mixed-float comparison + 32 e2e tests
Graeme Geldenhuys
2026-06-17 14:13:24 +0100
-
4e0e0a90a9
refactor(testing): use Cls.Create() instead of ClassCreate() builtin
Graeme Geldenhuys
2026-06-17 13:32:53 +0100
-
215082afc3
feat(codegen): implicit-virtual constructor dispatch via metaclass
Graeme Geldenhuys
2026-06-17 10:07:47 +0100
-
1753b5d2a8
fix(codegen): native scalar field of a record-call result as a call argument
Graeme Geldenhuys
2026-06-17 08:33:59 +0100
-
c266a8ee74
feat(cli): reject --emit-ir/--emit-asm with an incompatible explicit backend
Graeme Geldenhuys
2026-06-17 08:27:54 +0100
-
88db7f3b23
ci: run CLI-contract & internal-assembler tests; surface skips
Graeme Geldenhuys
2026-06-17 08:13:50 +0100
-
a0e0fd567b
feat(toolchain): host-aware tool resolution with spec + prefix env
Andrew Haines
2026-06-13 23:35:53 -0400
-
4e61cb1e8f
fix(rtl): run one-time RTL setup via a _BlaiseInit startup hook
Andrew Haines
2026-06-13 21:09:10 -0400
-
2f54707a63
feat(strutils): clean literal replace API — Replace (first) + ReplaceAll
Graeme Geldenhuys
2026-06-16 23:49:30 +0100
-
712263abd4
feat(rtl): integer div/mod by zero raises catchable EDivByZero
Graeme Geldenhuys
2026-06-16 23:04:56 +0100
-
5a15d4d15e
fix(codegen): string relational operators (< > <= >=)
Graeme Geldenhuys
2026-06-16 20:04:55 +0100
-
6c088024ec
fix(native): spill implicit-Self method calls with >6 register slots
Graeme Geldenhuys
2026-06-16 19:39:03 +0100
-
d15501af7b
fix: correct 0-based string iteration in FNV-1a hash loops
Graeme Geldenhuys
2026-06-16 18:50:56 +0100
-
908f3503b9
docs: add CI build status badge to README
Graeme Geldenhuys
2026-06-16 18:19:10 +0100
-
ea8dc01434
ci: bump deprecated actions to Node 24 majors
Graeme Geldenhuys
2026-06-16 18:09:03 +0100
-
85e2f28b0c
ci: expose vendored QBE to the compiler via BLAISE_QBE
Graeme Geldenhuys
2026-06-16 17:33:25 +0100
-
16e29f2fc8
ci: add GitHub Actions rolling-bootstrap pipeline
Graeme Geldenhuys
2026-06-16 17:25:53 +0100
-
07a1236896
feat(sets): subset/superset operators; reject enum-member shadowing
Graeme Geldenhuys
2026-06-16 17:00:09 +0100
-
f4c612ef77
feat: case-label ranges and Succ/Pred ordinal builtins
Graeme Geldenhuys
2026-06-16 16:42:16 +0100
-
9b45a6bbff
feat(generics): out-of-line impl form for generic methods + arg checking
Graeme Geldenhuys
2026-06-16 16:30:07 +0100
-
3490a03aa7
feat(generics): generic methods (method-level type parameters)
Graeme Geldenhuys
2026-06-16 16:13:12 +0100
-
42ca9d7535
feat(stdlib): TList<T> default array property — List[i] subscript
Graeme Geldenhuys
2026-06-16 14:57:50 +0100
-
798df8eb15
feat(properties): default array property — Obj[I] sugar
Graeme Geldenhuys
2026-06-16 14:48:38 +0100
-
0f707d20ac
fix(semantic): generic class implementing a non-generic interface
Graeme Geldenhuys
2026-06-16 14:29:05 +0100
-
6fc43d246c
fix(codegen): emit itabs for inherited (base) interfaces
Graeme Geldenhuys
2026-06-16 14:22:23 +0100
-
37690dea45
fix(semantic): honour interface inheritance in type compatibility
Graeme Geldenhuys
2026-06-16 14:16:38 +0100
-
659071f136
fix: inherit a non-generic class from a generic-class instance
Graeme Geldenhuys
2026-06-16 14:08:59 +0100
-
d91be47103
fix(codegen): class const accessed via the type name, both backends
Graeme Geldenhuys
2026-06-16 13:16:51 +0100
-
536610a7c5
fix(semantic): merge method overload sets across inheritance
Graeme Geldenhuys
2026-06-16 13:10:12 +0100
-
519aefdc5c
fix(codegen): virtual-dispatch property accessors through the vtable
Graeme Geldenhuys
2026-06-16 12:59:46 +0100
-
0d612485b8
fix(semantic): resolve inherited property accessors to declaring class (#111)
Graeme Geldenhuys
2026-06-16 12:17:13 +0100