Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file bs/builtins/types/runtime/typecheck.cpp at check-in ba909d1a948a6dfd
|
2024-09-15
| ||
| 20:24 | Add clang format settings, reformat everything file: [73b12fe6ee] check-in: [0db147f117] user: achavasse branch: cir-ssa-refactor, size: 5541 | |
|
2023-08-13
| ||
| 18:04 | It turns out cmake hadn't, in fact, failed me for the last time: migrating back from meson to cmake file: [4e00304050] check-in: [9722f7aa3f] user: zlodo branch: trunk, size: 5264 | |
|
2023-03-28
| ||
| 19:44 | Get rid of the TCRINFOS macro, use std::source_location instead to remove some noise file: [435c3c61df] check-in: [d9414ddc6f] user: zlodo branch: trunk, size: 5262 | |
|
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 file: [ed0c126dee] check-in: [9b8306c3af] user: zlodo branch: trunk, size: 5292 | |
|
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. file: [ef34d352aa] check-in: [1ad61a2717] user: zlodo branch: trunk, size: 4601 | |
|
2021-09-13
| ||
| 21:52 |
| |
|
2021-09-12
| ||
| 16:48 |
| |
|
2021-08-31
| ||
| 23:10 |
| |
|
2021-08-28
| ||
| 17:55 |
| |
|
2021-06-11
| ||
| 11:42 |
| |
|
2021-03-17
| ||
| 00:41 |
| |
|
2021-03-04
| ||
| 21:47 |
| |
|
2021-02-25
| ||
| 12:10 | Implemented a new method to order function overloads. Enabled several new reference tests which are now working properly. file: [a876527a80] check-in: [52ea24b083] user: achavasse branch: trunk, size: 7620 | |
|
2021-02-01
| ||
| 12:56 | Correctly handle references to references, plus some code cleaning. file: [a8f50e3582] check-in: [ba909d1a94] user: achavasse branch: trunk, size: 7357 | |
|
2021-01-13
| ||
| 11:46 | Sema: simplification: the "half-unification" rules don't need to be generators, they can only output one result. file: [847ab1e033] check-in: [3bf30e74ac] user: achavasse branch: trunk, size: 7366 | |
|
2021-01-02
| ||
| 18:00 | Some more renaming. file: [85b842e726] check-in: [0345b9f807] user: achavasse branch: trunk, size: 7459 | |
|
2020-12-27
| ||
| 14:40 | Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. file: [1d3a4b3224] check-in: [7d2def7b75] user: achavasse branch: trunk, size: 7519 | |
|
2020-07-02
| ||
| 00:47 |
| |
|
2020-06-27
| ||
| 22:05 | Renamed and modified bs/builtins/types/runtime/unify.cpp → bs/builtins/types/runtime/typecheck.cpp. 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. file: [65254ece1e] check-in: [b64ea47f6b] user: achavasse branch: trunk, size: 7507 | |
|
2020-06-15
| ||
| 22:09 | Refactored the integer/ct_int unification to defer the size/sign check to a postprocessing callback. file: [863866eacd] check-in: [ac4e681af3] user: achavasse branch: trunk, size: 7920 | |
|
2020-06-13
| ||
| 22:59 |
| |
|
2020-05-23
| ||
| 12:58 |
| |
|
2020-01-22
| ||
| 22:14 | Standardized the way type values are encoded to make room for an optional pointer to a list of predicates for refinement types. file: [b06161ef0b] check-in: [cc380f4f8f] user: achavasse branch: trunk, size: 7028 | |
|
2019-12-05
| ||
| 17:40 | Implemented a helper to check whether a type is compile-time only. file: [72a21b14e2] check-in: [12f37d77cb] user: achavasse branch: trunk, size: 7146 | |
|
2019-09-22
| ||
| 14:37 | Project renaming. file: [9dd5078278] check-in: [af650a9e95] user: achavasse branch: trunk, size: 7129 | |
|
2019-09-07
| ||
| 16:53 | ir: rewrote the super inefficient "term versus trie" matching function. This speeds up everything significantly: compiling the mandelbrot sample is no longer embarrassingly slower than compiling an equivalent c++ version with clang. file: [5453969da2] check-in: [0db33d7cb4] user: achavasse branch: trunk, size: 7135 | |
|
2019-08-29
| ||
| 20:12 | Params are now encoded distinctly from normal values, to allow for more generic unification rules for things suchs as BigInt versus Integer. file: [d9f983102e] check-in: [6e598fe891] user: achavasse branch: trunk, size: 7137 | |
|
2019-08-25
| ||
| 01:54 |
| |
|
2019-08-16
| ||
| 14:48 | Added a new type of template expression: TVec, along with a helper function to make it possible for parametric types to be constructed either normally or as a template expression when passed template parameters. Only used by LocalVar for now, parametric runtime types require some refactoring. file: [b9d532a97a] check-in: [27fc719d74] user: achavasse branch: trunk, size: 6540 | |
|
2019-08-11
| ||
| 17:18 |
| |
|
2019-08-09
| ||
| 19:54 | Cleanup: got rid of the half-assed location and poisoning systems in ir::Terms. file: [1d12b91b97] check-in: [aee388d9c0] user: achavasse branch: trunk, size: 6013 | |
|
2019-08-07
| ||
| 01:56 |
| |
|
2019-08-06
| ||
| 22:22 | Renamed runtime types, because most of them (except pointers) will have to be available during compile time as well, so their names may as well be generic. file: [91400c9cfb] check-in: [fbc9052f6a] user: achavasse branch: trunk, size: 5920 | |
|
2019-08-05
| ||
| 17:46 | Implemented a wrapper around llvm::APSInt for compile time integers to manage mixing operations on integers of different bitsizes, and to automatically extend them as needed. file: [3702afa4f1] check-in: [2bee844d3c] user: achavasse branch: trunk, size: 5923 | |
| 02:45 |
| |
|
2019-08-04
| ||
| 00:04 | Apply the ct_int unification fix to ct_string unification. file: [a27a4d237c] check-in: [5a80915ee6] user: achavasse branch: trunk, size: 8991 | |
|
2019-08-03
| ||
| 23:38 | Fixed the ct_int unification rule, which didn't work correctly against generic function parameters. file: [0accef60fd] check-in: [18e3bfa195] user: achavasse branch: trunk, size: 7838 | |
| 17:16 |
| |
| 14:10 | Added support for signed runtime integers and fixed multiple issues with ct_integer to runtime integer conversion. file: [0d9380a6a8] check-in: [c7b1aea0a6] user: achavasse branch: trunk, size: 3179 | |
|
2019-08-01
| ||
| 22:49 | Implemented the logic or operator. Not functional yet due to an architectural flaw. file: [419359b546] check-in: [d939807dfa] user: achavasse branch: trunk, size: 2654 | |
|
2019-07-26
| ||
| 23:52 |
| |
| 22:30 |
Added:
| |