Commit graph

  • 9c87347a9e test(inherit): add dual-backend e2e tests for class inheritance Graeme Geldenhuys 2026-06-16 12:06:46 +0100
  • 031ea9a8c0 fix(codegen): chained element write on dynamic-array-of-dynamic-array Graeme Geldenhuys 2026-06-16 12:03:11 +0100
  • 267c825237 fix(codegen): accept dynamic array as open-array argument Graeme Geldenhuys 2026-06-16 11:56:36 +0100
  • 51efaefa9d fix(dynarray): allow SetLength on an array element (ragged 2-D arrays) Graeme Geldenhuys 2026-06-16 11:43:25 +0100
  • 2ec86bf7f6 test(records): expand record e2e coverage (both backends) Graeme Geldenhuys 2026-06-16 11:36:59 +0100
  • 09c20cd379 test(pointers): expand pointer e2e coverage (both backends) Graeme Geldenhuys 2026-06-16 11:33:15 +0100
  • 64160a0745 fix(varparam): accept an array element as a var/out argument Graeme Geldenhuys 2026-06-16 11:26:24 +0100
  • 0a9577e6d9 fix(qbe): return address (not loaded value) for an implicit-Self aggregate field Graeme Geldenhuys 2026-06-16 11:12:45 +0100
  • 8c8913a27b fix(qbe): pass a class instance directly to an interface parameter Graeme Geldenhuys 2026-06-16 10:56:04 +0100
  • 875d511b51 fix(generics): allow a local var named after a type parameter Graeme Geldenhuys 2026-06-16 10:39:04 +0100
  • fcf4d36fad fix(generics): substitute type param in generic-function body locals Graeme Geldenhuys 2026-06-16 10:32:47 +0100
  • e2b715b53b fix(parser): support nested generic type arguments Graeme Geldenhuys 2026-06-16 10:13:45 +0100
  • 236736a3be fix(parser): accept parenthesised lvalue as assignment target Graeme Geldenhuys 2026-06-16 10:06:40 +0100
  • 74f71023da feat(oop): support 'inherited Method()' in expression position Graeme Geldenhuys 2026-06-16 10:01:26 +0100
  • 5f340f0956 perf(asm): amortized byte buffers in the internal assembler's ELF writer Graeme Geldenhuys 2026-06-16 02:06:45 +0100
  • 32756f6f25 fix(qbe): load instance pointer for @(class-field array)[idx] address Graeme Geldenhuys 2026-06-16 02:06:09 +0100
  • 0b9b66f848 feat(cli): per-backend option contract (Chain of Responsibility) Graeme Geldenhuys 2026-06-16 00:57:24 +0100
  • 0631bb0cdf test(native): add internal-assembler conformance guard Graeme Geldenhuys 2026-06-16 00:50:18 +0100
  • eee7f54284 fix(native): load sret Result pointer with movq, not leaq, when reading its fields Graeme Geldenhuys 2026-06-16 00:14:26 +0100
  • 88ebf75476 refactor(cli): collapse ParseArgs out-params into opts objects Graeme Geldenhuys 2026-06-15 20:46:56 +0100
  • e642c7c8d7 refactor(cli): remove FPC-style CLI emulation Graeme Geldenhuys 2026-06-15 20:25:05 +0100
  • 9362114ee1 feat(sets): range syntax in set literals — [lo..hi] (#105) Graeme Geldenhuys 2026-06-15 17:14:05 +0100
  • 4e90165b73 feat(semantic): reject variables that shadow a type name (#102) Graeme Geldenhuys 2026-06-15 16:38:19 +0100
  • bf63d7419f fix(codegen): three bugs compiling units with generics + float code (#107) Graeme Geldenhuys 2026-06-15 16:22:29 +0100
  • 267e8db702 fix(rtl): WriteDecimal mishandles Low(Int64), printing only '-' Graeme Geldenhuys 2026-06-15 16:05:37 +0100
  • fbb5a675aa feat(format): float Format() support on the native x86-64 backend Graeme Geldenhuys 2026-06-15 00:58:43 +0100
  • 7c26598bb8 feat(format): float support in Format() — %f/%e/%g with width/precision (QBE) Graeme Geldenhuys 2026-06-15 00:58:37 +0100
  • d3dbebbe85 test(sets): extract set-of e2e tests to cp.test.e2e.sets, run on both backends Graeme Geldenhuys 2026-06-15 00:34:39 +0100
  • fa853e0eb2 feat(sets): jumbo sets — set of enum up to 256 members Graeme Geldenhuys 2026-06-14 23:23:19 +0100
  • 2708a6209e feat(const): compile-time integer constant expressions (#96) Graeme Geldenhuys 2026-06-13 19:14:14 +0100
  • 9a511a22e2 feat(const): multi-dimensional array constants Graeme Geldenhuys 2026-06-13 18:48:28 +0100
  • 5fa44b33a5 fix(codegen): float-typed array elements on both backends Graeme Geldenhuys 2026-06-13 18:07:42 +0100
  • 12ebcbe09f feat(parser): clear diagnostics for packed/bitpacked array Graeme Geldenhuys 2026-06-13 17:56:22 +0100
  • f830a9f1ac feat(params): array of const (heterogeneous variadic parameters) Graeme Geldenhuys 2026-06-13 17:37:59 +0100
  • 28bd5cdb38 docs(rationale): position on loosely-typed parameter passing Graeme Geldenhuys 2026-06-13 15:29:20 +0100
  • 54d7d2a573 feat(types): inline set types in any type position Graeme Geldenhuys 2026-06-13 13:45:13 +0100
  • ba51a53365 feat(vars): initialised global variables (var G: T = value) Graeme Geldenhuys 2026-06-13 13:29:43 +0100
  • 42f48c9ece fix(codegen): Inc/Dec on a captured outer-scope variable Graeme Geldenhuys 2026-06-13 12:29:05 +0100
  • 7567356e84 fix(opdf): emit Boolean and real constants correctly Graeme Geldenhuys 2026-06-13 12:11:14 +0100
  • ccd109ce77 feat(arrays): support multi-dimensional static arrays Graeme Geldenhuys 2026-06-13 11:56:38 +0100
  • 7b8116310f feat(opdf): emit open-array debug info (ArrayKind=2 + companion slot) Graeme Geldenhuys 2026-06-13 01:06:16 +0100
  • 6ba1bc9b78 fix(semantic): reject void/procedure-call results as WriteLn/Write arguments Graeme Geldenhuys 2026-06-12 18:12:48 +0100
  • b3024facc0 fix(semantic): reject procedural/record/class types as WriteLn/Write arguments Graeme Geldenhuys 2026-06-12 17:46:56 +0100
  • 1b0afaf3d3 fix(test): derive blaise binary path from TestRunner location, not cwd Graeme Geldenhuys 2026-06-12 16:59:15 +0100
  • 75834d393d fix(semantic): out-of-line methods now link for generic records Graeme Geldenhuys 2026-06-12 16:45:33 +0100
  • 512cbfef98 test(zero-init): use S=[] directly in SetLocal now that semantic crash is fixed Graeme Geldenhuys 2026-06-12 16:29:57 +0100
  • 75db9584dc fix(semantic): set equality S=[] and S=[lit] no longer crash Graeme Geldenhuys 2026-06-12 16:21:25 +0100
  • a2d263e0e8 feat(lang): guarantee zero-initialisation of all variables Graeme Geldenhuys 2026-06-12 16:09:02 +0100
  • d182b4ab7e fix(debug): attribute generic-instance allocation sites to the defining unit Graeme Geldenhuys 2026-06-12 15:16:45 +0100
  • 1dfc693fe5 fix(codegen): for-in over enumerators — promoted loop var and leaked enumerator Graeme Geldenhuys 2026-06-12 15:05:43 +0100
  • eabf20ae7f refactor(driver): driver-aware worker; registry-driven flags and pre-flight Graeme Geldenhuys 2026-06-12 14:05:38 +0100
  • 543f495f48 refactor(driver): lowering and linking through the backend drivers Graeme Geldenhuys 2026-06-12 14:01:48 +0100
  • 5603767298 refactor(driver): introduce TBackendDriver; route codegen construction Graeme Geldenhuys 2026-06-12 13:55:01 +0100
  • 06517bf1d3 fix(qbe): dispatch record/interface-returning virtual methods via vtable Graeme Geldenhuys 2026-06-12 13:53:25 +0100
  • 1ba78cf90b fix(native): support class-receiver method calls returning interfaces Graeme Geldenhuys 2026-06-12 13:44:19 +0100
  • f0f888f2c5 fix(codegen): interface-dispatch ABI — record args, var/out params, call receivers, discarded returns Graeme Geldenhuys 2026-06-12 13:27:00 +0100
  • c20ddd549d fix(codegen): interface nil-compare and interface-method sret returns Graeme Geldenhuys 2026-06-12 12:50:19 +0100
  • 81c5804ae4 fix(codegen): static-array element read/write of interface uses fat pointer Andrew Haines 2026-06-12 12:13:54 +0100
  • 1babf0c9a5 feat(linker): section merger (completes Phase A) Graeme Geldenhuys 2026-06-12 10:13:16 +0100
  • 5415815f8d feat(linker): ELF object and ar-archive reader (Phase A) Graeme Geldenhuys 2026-06-12 10:10:21 +0100
  • 62a9b02870 fix(codegen): string-field subscripts are 0-based on both backends Graeme Geldenhuys 2026-06-12 10:10:09 +0100
  • ff5c481ec0 test: add assembler/ELF writer tests and internal linker design doc Graeme Geldenhuys 2026-06-12 09:55:44 +0100
  • 83d40490fc feat: add self-assembler for native x86-64 backend (--assembler internal) Graeme Geldenhuys 2026-06-12 09:55:34 +0100
  • da2bb5a9a9 fix(native): var/out argument addresses and record-typed field assignment Graeme Geldenhuys 2026-06-12 09:55:20 +0100
  • eeadc177a1 fix: default all option variables in the FPC-style invocation branch Graeme Geldenhuys 2026-06-12 00:55:16 +0100
  • 1a5a881d6c feat(semantic): reserve module names as identifiers Graeme Geldenhuys 2026-06-11 23:51:11 +0100
  • b9aae4abf5 dateutils: fixes documentation reference in header comment. Graeme Geldenhuys 2026-06-11 23:12:30 +0100
  • b776ceb5dd fix(codegen): fail loudly on IsArrayAccess fall-through in both backends Graeme Geldenhuys 2026-06-11 23:06:54 +0100
  • 35f8ff5970 Revert defaulting the compiler to Native backend. Graeme Geldenhuys 2026-06-11 22:53:26 +0100
  • 840b053812 fix: var parameters of dynamic-array, static-array, PChar and interface types Graeme Geldenhuys 2026-06-11 18:50:50 +0100
  • 4f2246cc57 fix(debug): per-unit source files in OPDF line records Graeme Geldenhuys 2026-06-11 17:56:23 +0100
  • ac0acc7bdd feat(native): build blaise-compiler with the native backend by default Graeme Geldenhuys 2026-06-11 17:32:25 +0100
  • ca21b884bc feat(debug): link --debug-opdf binaries as PIE Graeme Geldenhuys 2026-06-11 15:43:02 +0100
  • 248dccf6ca feat(debug): indirect variable locations + codegen fixes they uncovered Graeme Geldenhuys 2026-06-11 15:07:06 +0100
  • 525037a4db feat(opdf): field drilldown — unit-class symbols, Self typing, record-param shadows Graeme Geldenhuys 2026-06-11 14:12:55 +0100
  • d2d5a8de3d feat(opdf): native-first debugging — exact frame offsets, statement-level lines Graeme Geldenhuys 2026-06-11 13:38:20 +0100
  • bc2bbdef03 fix(opdf): method/destructor scope records; export symbols the companion references Graeme Geldenhuys 2026-06-11 12:35:45 +0100
  • 9d35fbef1c fix(arc): class fields consume +1 call results — ends the per-store leak Graeme Geldenhuys 2026-06-11 12:23:50 +0100
  • d9da320d6d fix(arc): mark TSymbolTable builtin-type caches [Unretained] Graeme Geldenhuys 2026-06-11 12:04:33 +0100
  • b9e0ea7a9e docs+test: collection ownership conventions — generic retention pinned Graeme Geldenhuys 2026-06-11 11:55:34 +0100
  • d6b706ffd3 fix(native): nil l-value Free slots; sret record calls into array elements Graeme Geldenhuys 2026-06-11 11:50:24 +0100
  • c62ce5b8b1 fix: statement-position method call through a non-Self interface field Graeme Geldenhuys 2026-06-11 11:35:18 +0100
  • dbf2e3c879 fix(qbe): open-array args on method and constructor calls dropped the high Graeme Geldenhuys 2026-06-11 11:30:42 +0100
  • 409e1cada7 fix(native): function-of-object indirect call must load Self from TMethod Graeme Geldenhuys 2026-06-11 11:24:32 +0100
  • f8d75e586d feat: interface properties Graeme Geldenhuys 2026-06-11 11:04:47 +0100
  • 1b366f4c97 feat: implicit integer→float widening for math builtins and float typecasts Graeme Geldenhuys 2026-06-11 10:17:00 +0100
  • 5f0fbb7643 fix: element access through array-typed fields — r.A[i], c.N.A[i], SetLength(r.A) Graeme Geldenhuys 2026-06-11 09:19:35 +0100
  • 7b4db4d11d fix: record elements in arrays — subscript-LHS chains, deep copy, element reads Graeme Geldenhuys 2026-06-11 08:38:08 +0100
  • 939f03eb0e docs: native const-arg ARC port design — mark implemented Graeme Geldenhuys 2026-06-11 07:36:13 +0100
  • 434058ceda feat(native): caller-side const-string ARC + unified call-arg hoist region Graeme Geldenhuys 2026-06-11 04:04:39 +0100
  • 17c14b37aa perf(qbe): borrowed-local const-string args + lookup/format tail wins Graeme Geldenhuys 2026-06-10 23:53:01 +0100
  • cfbf2b305b fix(semantic): materialise default args in method-call statements Graeme Geldenhuys 2026-06-10 23:52:45 +0100
  • 91f44ec823 perf(qbe): shape-aware const-string argument ARC Graeme Geldenhuys 2026-06-10 23:18:24 +0100
  • 8ce374c0ba perf(runtime): stack buffers for WriteDecimal and Format Graeme Geldenhuys 2026-06-10 19:47:19 +0100
  • 3799f1516a perf(stdlib): hash lookup for TDictionary, TOrderedDictionary and TSet Graeme Geldenhuys 2026-06-10 19:41:38 +0100
  • 9d08c7913a perf(runtime): inline header checks into _StringRelease Graeme Geldenhuys 2026-06-10 19:30:43 +0100
  • 475d579968 perf(semantic): overload groups replace per-call index scans Graeme Geldenhuys 2026-06-10 19:26:45 +0100
  • 4c74506e0f perf(stdlib): hash index for unsorted TStringList.Find/IndexOf Graeme Geldenhuys 2026-06-10 18:54:37 +0100
  • 4da1233f12 fix(native): metaclass refs, ClassCreate, const-string ARC, locals init, OA literals Graeme Geldenhuys 2026-06-10 17:39:55 +0100
  • 4e220def35 fix(native): support MethodAddress with variable string argument Graeme Geldenhuys 2026-06-10 15:43:41 +0100