Goose  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2024-04-09
22:55
Here we go again. Life is pain. Life is suffering Leaf check-in: 99c630bf0a user: zlodo tags: cir-ssa-refactor
2024-03-30
08:58
structs:
  • diagnose member name collisions
  • add tests for the dot operator
  • fix dot operator
Leaf check-in: f7de54375b user: zlodo tags: trunk
2024-03-23
12:47
structs:
  • add test for nested initialization
  • fix nested initialization
check-in: ea17da4e19 user: zlodo tags: trunk
2024-03-14
23:23
  • add type wrapper for unresolved compile time identifier, move undefined identifier handling to dropValue() of those
  • implemented dot operator for structs
  • fixed struct lazy parsing
  • implemented some tests for structs default construction
  • fixed struct default ctor generation
check-in: 75a719c020 user: zlodo tags: trunk
2024-02-09
18:05
Lowering: completely reworked all lowering to happen in the same two unified extension points upstream of all three CIR consumers check-in: 1793989d05 user: zlodo tags: trunk
2024-01-03
22:20
Added _LowerType extension point, called to decide what type to use when allocating locvars check-in: 11b6bc7f84 user: zlodo tags: trunk
2024-01-02
22:41
Structs: build the default ctor and add it as an overload of _Initialize. check-in: ad919df201 user: zlodo tags: trunk
2024-01-01
23:23
Structs: build the underlying tuple type in finalize() check-in: 7bf7fc54a6 user: zlodo tags: trunk
2023-12-30
21:58
Structs: invoke initialize upon creating a member variable (for the default ctor) check-in: f47d37b2d5 user: zlodo tags: trunk
2023-12-28
13:57
Structs: inside of the struct's scope, materialize member variables as refs (so they can be used in the initialization expressions for following member variables declarations) check-in: 8647b9c619 user: zlodo tags: trunk
2023-12-26
15:41
Structs: add the Finalize extension point that finalizes the creation of a struct after gathering its content. check-in: f1458583b5 user: zlodo tags: trunk
2023-12-16
00:02
Struct builder: gather var members check-in: bce164db61 user: zlodo tags: trunk
2023-12-14
23:30
Structs: perform lazy parsing when a struct type is used. check-in: 4ea0bba9a7 user: zlodo tags: trunk
2023-12-11
00:08
Move the local type inference code out of locvar and into its own function so it can be reused for struct members check-in: 1f1faa7fe2 user: zlodo tags: trunk
2023-12-09
19:56
Remove some dead code. check-in: f99a469d36 user: zlodo tags: trunk
19:44
Assigning something to a Decl or a TNamedDecl no longer directly declares a variable but creates an intermediate DeclWithInit or TNamedDeclWithInit, which declare variables when dropped. check-in: 308bd3ed4d user: zlodo tags: trunk
2023-12-08
21:16
Some work on struct builder check-in: ae07ee4400 user: zlodo tags: trunk
2023-12-06
20:49
Begin implementing structs. check-in: 973848d259 user: zlodo tags: trunk
2023-12-05
18:43
  • Comptime functions are now explicitely marked with "comptime"
  • Fixed some bugs (or added placeholders) for things that the above change revealed to be broken or missing
check-in: d6abaa6734 user: zlodo tags: trunk
2023-11-30
18:29
Handful of fixes and improvements from an abandoned refactor of inline funcs, will go for a different solution check-in: 5b069c9677 user: zlodo tags: trunk
2023-11-08
21:45
  • add codegen and verification tests for inline funcs
  • remove the awkward llvm basic block pointer from CIR basic block
check-in: b3e7f71393 user: zlodo tags: trunk
2023-11-05
13:11
  • Remove an obsolete TODO
  • Remove hackish verification helper functions that won't be needed now that we have proper inline functions
check-in: 6369c5a368 user: zlodo tags: trunk
13:04
Implemented inline functions check-in: 96c02f37d1 user: zlodo tags: trunk
2023-10-05
00:14
Removed the work queue and implemented a proper dependency manager with callbacks check-in: 0e7409855c user: zlodo tags: trunk
2023-09-21
18:08
  • Add a compilation state to func CIR to prepare for inline funcs
  • Add a job queue to defer some compilation jobs
  • Refactor LocationId to store an actual location for poison values to help with debugging
check-in: e24e9bfad5 user: zlodo tags: trunk
2023-08-28
20:36
  • Removed old, obsolete, unused cir::Decorator
  • Implemented a CFG inliner function
check-in: 44c339148f user: zlodo tags: trunk
2023-08-27
22:30
  • Added "CallCheck" CIR instruction to request the verifier to check a bunch of func params like it was a real call
  • Used the above to verify the arguments passed to ghost funcs
check-in: 83971c96a4 user: zlodo tags: trunk
21:13
Interpreter: simplify handling of temporaries check-in: 3fbe5ad303 user: zlodo tags: trunk
2023-08-25
18:44
Some cleanup in preparation for getting rid of proposition lists check-in: f605c7c4a3 user: zlodo tags: trunk
2023-08-24
21:55
Verifier: optimize the way CreateTemporary/GetTemporary are handled check-in: 942f3c4fe0 user: zlodo tags: trunk
2023-08-21
17:33
Refactor CompileFunc to untangle things a bit check-in: ecc62fe531 user: zlodo tags: trunk
2023-08-18
18:40
Added helper functions to bind parameters to a proposition list and append its content to a basic block check-in: fc3d788320 user: zlodo tags: trunk
2023-08-13
18:23
forall statement: factorise out the bracket block parsing check-in: 890f3f7581 user: zlodo tags: trunk
18:04
It turns out cmake hadn't, in fact, failed me for the last time: migrating back from meson to cmake check-in: 9722f7aa3f user: zlodo tags: trunk
2023-08-02
22:14
Update mimalloc and Catch check-in: 9ee0c01395 user: zlodo tags: trunk
21:46
Implemented forall statement check-in: 32f94cd2e1 user: zlodo tags: trunk
2023-07-22
17:26
Add zstd dependency (some versions of the lld libs need it now) check-in: e4bae45a24 user: zlodo tags: trunk
2023-07-15
19:25
Fixed values not being destroyed when a lifetime scope ends check-in: 9a57f2204f user: zlodo tags: trunk
2023-07-13
21:45
CIR, verifier: added forall quantified variables check-in: 20223acc66 user: zlodo tags: trunk
2023-07-06
23:03
Implemented "IsPrefixOf" intrinsic function. check-in: 045e459cb4 user: zlodo tags: trunk
18:25
Verification: add IsPrefixOf instruction check-in: 33d8f4d593 user: zlodo tags: trunk
2023-07-05
22:01
Some builtins to work with references during verification:
  • RefToAddr conversion function
  • dot operator overloads to extract the lifetime, origin and path of an address
check-in: 914b2e2af1 user: zlodo tags: trunk
2023-07-01
11:21
Execute: function argument passing simplification (overlooked from back when the CIR was turned into a stack language) check-in: 2e14edebd0 user: zlodo tags: trunk
2023-06-30
22:41
Verifier:
  • Remove hardcoded handling of ref type from verifier, lower ref type to address for verification instead
  • Complete the handling of address type and handle selecting+loading an address' lifetime, origin and path
check-in: 1adbcaa805 user: zlodo tags: trunk
2023-06-22
23:33
Implemented lowering of Addresses into a tuple representation for verification check-in: 25b51220ed user: zlodo tags: trunk
2023-06-17
10:15
  • Remove MemLoc, it's redundant with cir::Address
  • Added compîlation time sequence type
  • Partially handle sequence type in the verifier (to be completed later)
  • Added "SelectPath" builtin type for adress paths
check-in: 08898dae70 user: zlodo tags: trunk
2023-05-31
21:34
Lifetimes: implemented verifier's z3 representation check-in: b1d4853b7f user: zlodo tags: trunk
2023-05-05
18:03
Lifetime specifications parsing check-in: bb7e75cb1b user: zlodo tags: trunk
2023-04-03
22:37
Moved the code that emits type predicate checks for values returned by intrinsics into an extension point check-in: 72cb3ae97a user: zlodo tags: trunk
2023-03-28
19:44
Get rid of the TCRINFOS macro, use std::source_location instead to remove some noise check-in: d9414ddc6f user: zlodo tags: trunk