Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins that include changes to files matching 'bs/builtins/types/localvar/*'
|
2024-10-01
| ||
| 22:43 | Commiting the current WIP for archival purpose before focusing on the inane rewrite in rust Leaf check-in: ce99bb3280 user: achavasse tags: cir-ssa-refactor | |
|
2024-09-15
| ||
| 20:24 | Add clang format settings, reformat everything check-in: 0db147f117 user: achavasse tags: cir-ssa-refactor | |
|
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 | |
|
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-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: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-08-02
| ||
| 21:46 | Implemented forall statement check-in: 32f94cd2e1 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 | |
|
2023-03-05
| ||
| 22:24 |
| |
|
2023-01-05
| ||
| 19:44 | Fixed passing tuple by value to functions, which involved properly handling type checking of constant tuples containing computed data and some codegen bugs check-in: 9b8306c3af user: zlodo tags: trunk | |
|
2022-09-02
| ||
| 21:42 |
| |
|
2022-06-29
| ||
| 21:47 | The CIR is no longer made out of instructions that are basically expression trees, but is now instead a stack language to make it possible to insert verification instructions before and after the evaluation of individual function arguments check-in: 1f87fbda15 user: zlodo tags: trunk | |
|
2022-06-18
| ||
| 18:51 |
| |
|
2022-05-23
| ||
| 08:44 |
| |
|
2022-03-14
| ||
| 19:23 |
| |
|
2021-11-25
| ||
| 21:21 | Got rid of the where operator. Predicates are now added to types simply by following the type with a proposition list. check-in: 23ecb4f9cb user: zlodo tags: trunk | |
|
2021-11-22
| ||
| 20:22 | Function pre-conditions and post-conditions now use the same proposition lists as type predicates check-in: 1c335aeb04 user: zlodo tags: trunk | |
|
2021-11-16
| ||
| 21:18 | The details of creating a new visibility scope are now handled by the builder instead of being hardcoded in the parser check-in: 16dd587889 user: zlodo tags: trunk | |
|
2021-11-13
| ||
| 14:09 | The builder is now passed as the first param of the _DropValue extension point check-in: c33b227735 user: zlodo tags: trunk | |
|
2021-11-11
| ||
| 20:05 | Refactored the code builder: it is now carried around as a Value, and accessed through a bunch of extension points, so we can have different builders (and even user defined ones) later to make classes etc. check-in: 1ad61a2717 user: zlodo tags: trunk | |
| 01:00 |
| |
|
2021-10-26
| ||
| 18:43 | Type predicates: implemented helper functions to append / filter out type predicate hashes in identities. check-in: d40e6470bf user: zlodo tags: trunk | |
|
2021-09-18
| ||
| 17:00 |
| |
|
2021-09-12
| ||
| 16:48 |
| |
|
2021-08-29
| ||
| 21:49 |
| |
|
2021-08-28
| ||
| 17:55 |
| |
|
2021-03-05
| ||
| 17:56 | Implemented refinement type predicate unification. Predicate violations by variable initialization are now properly detected. check-in: b2945b5bb1 user: achavasse tags: trunk | |
|
2021-03-04
| ||
| 21:47 |
| |
|
2021-03-02
| ||
| 22:51 | Removed magic "tuple of types to tuple type" conversions and moved them into extension points so that any type can implement similar semantics check-in: 2370e98869 user: achavasse tags: trunk | |
|
2021-02-18
| ||
| 20:32 | Removed stray debugging profanity. check-in: 8cdafa4fa4 user: achavasse tags: trunk | |
| 19:35 |
Implemented reference initialization, so reference local variables can now be declared, and added a typechecking rule preventing template variables to bind to reference types.
Then fixed a MILLION horrible problems caused by all that. Now almost everything works again. *sobs* check-in: 9b058524b4 user: achavasse tags: trunk | |
|
2021-02-01
| ||
| 12:56 | Correctly handle references to references, plus some code cleaning. check-in: ba909d1a94 user: achavasse tags: trunk | |
|
2021-01-21
| ||
| 21:05 | Removed the vector "typechecking rule", whose existence made no sense. Typechecking rules should operate only on values and pattern of values. Typechecking multiple values against multiple params is now done through a specific function instead. check-in: 7b9f645074 user: achavasse tags: trunk | |
|
2021-01-11
| ||
| 20:20 | Reorganized symbols visibility a bit to avoid local variables from the enclosing function to be visible inside of function parameter list declarations (which prevented reusing them as parameter names). check-in: 52280a3c5c user: achavasse tags: trunk | |
|
2021-01-07
| ||
| 16:26 | Fixed template references. check-in: 54e783e254 user: achavasse tags: trunk | |
|
2021-01-03
| ||
| 15:44 | cir: load, store and select store their base addresses directly as cir instructiions, rather than wrapped into eir values, which is useless there. check-in: 4cc7a833f8 user: achavasse tags: trunk | |
|
2021-01-02
| ||
| 18:24 | Yet one more reference/address refactor: each calculation step (getting temp addr, getting var addr, selecting a member) is now a separate cir instruction. We need this level of generalization to be able to obtain addresses from anywhere, including variables and function parameters. check-in: 26c691ecb9 user: achavasse tags: trunk | |
| 18:00 | Some more renaming. check-in: 0345b9f807 user: achavasse tags: trunk | |
|
2020-12-27
| ||
| 14:40 | Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. check-in: 7d2def7b75 user: achavasse tags: trunk | |
|
2020-12-18
| ||
| 01:29 | References refactor: references are now values all the way to the llr, where a new "CalcAddress" instruction represents a conversion from a logical address (location + path) into an actual runtime or compilation time address. This is in preparation to allow references to be stored in variables or passed as parameters. (It just took 4.5 months to finish this... Refactoring just sucks) check-in: 8ddd71f9b2 user: achavasse tags: trunk | |
|
2020-07-02
| ||
| 00:47 |
| |
|
2020-06-27
| ||
| 22:05 | Clearly separate the type checking rules and the unification rules, instead of lumping them all together in a single set of patterns which is increasingly confusing. check-in: b64ea47f6b user: achavasse tags: trunk | |
|
2020-06-26
| ||
| 23:34 |
Cleanup:
| |
|
2020-06-20
| ||
| 14:32 |
| |
|
2020-06-15
| ||
| 19:45 | Call "Postprocess" on unification solutions during the best solution lookup, so that custom postprocessing callbacks can trigger the rejection of a solution. check-in: daee557086 user: achavasse tags: trunk | |
| 19:16 | Moved some common code into a helper function to facilitate some future refactoring. check-in: df0ad9a7f1 user: achavasse tags: trunk | |
|
2020-06-13
| ||
| 22:59 |
| |
| 13:34 | Implemented new rules for implicit dereferencing and implicit referencing. check-in: 4d5cc07d86 user: achavasse tags: trunk | |
| 12:51 | Modify the reference IR representation so that we can have holes for the behavior. check-in: 385846b609 user: achavasse tags: trunk | |