aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move temporary array out of `CheckerInfo`gingerBill2025-02-221-14/+16
|
* Change `typeid` definition to be based around the canonical type hashgingerBill2025-02-201-16/+29
| | | | | | | | `typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type. This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox). Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
* Use `PtrMap` temporarilygingerBill2025-02-201-3/+3
|
* Number fields within procedures with a depth-first numbering systemgingerBill2025-02-191-0/+4
|
* Use `TypeSet` for DeclInfo depsgingerBill2025-02-181-5/+5
|
* Minor code clean upgingerBill2025-02-181-47/+15
|
* Fix typosgingerBill2025-02-181-1/+1
|
* Simplify type info table constructiongingerBill2025-02-171-61/+101
|
* Begin work on `TypeSet`gingerBill2025-02-171-15/+6
|
* Begin work on hash typesgingerBill2025-02-171-2/+42
|
* Work on making name mangling deterministicgingerBill2025-02-171-0/+1
|
* Fix #4763gingerBill2025-01-311-0/+4
|
* Add `@(export) foreign import`gingerBill2025-01-311-3/+13
|
* Add `@(ignore_duplicates)` for `foreign import` declarationsgingerBill2025-01-281-0/+9
|
* Do not warn about stack overflow in range loops 'by reference'flysand72025-01-161-3/+9
|
* Make `-no-dynamic-literals` the default nowgingerBill2025-01-051-1/+17
|
* Support multiple paths for wasm in `foreign import`gingerBill2025-01-011-0/+34
|
* Remove `#relative` types from the compilergingerBill2024-11-141-24/+0
|
* Ignore `package runtime` with using `-vet-unused-packages`gingerBill2024-10-021-0/+3
|
* print proc types in same order as procsBeau McCartney2024-09-291-3/+3
|
* fix deferred procedure errorsBeau McCartney2024-09-291-5/+5
|
* Add `-vet-unused-procedures`gingerBill2024-09-171-7/+48
|
* Add `-vet-packages:<comma-separated-string-array>`gingerBill2024-09-171-12/+4
|
* remove commaLaytan Laats2024-08-311-1/+1
|
* fix some issues with the "bad import name" errorsLaytan Laats2024-08-311-3/+9
| | | | | | | | | | There was so much wrong here: - The `if` statement was never entered because even on invalid import names `path_to_entity_name` returns "_" - Two errors were shown where one doesn't make sense, need to choose one based on context - Structure of the messages were different from other error messages - Suggestion was using the wrong import path
* Fix #4166gingerBill2024-08-301-1/+8
|
* Set a flag for delayed checkingavanspector2024-08-301-2/+1
|
* Add missing checker delayingavanspector2024-08-291-3/+3
|
* checker: delay foreign block checkingavanspector2024-08-261-8/+20
| | | | if file scope, otherwise as before
* Update checker.cppavanspector2024-08-261-3/+11
|
* Allow empty strings in `link_prefix` and `link_suffix`gingerBill2024-08-251-6/+6
|
* add support for linux_riscv64 and freestanding_riscv64Laytan2024-08-201-0/+1
|
* implement lshrti3 on wasmLaytan Laats2024-08-181-0/+1
|
* Allow `@(require_results)` on `foreign` blocksgingerBill2024-08-141-0/+7
|
* Merge pull request #4069 from zen3ger/1738-aliased-procedure-resolutiongingerBill2024-08-131-0/+12
|\ | | | | Fix alias handling of procedures
| * Fix alias handling of proceduresRoland Kovacs2024-08-121-0/+12
| | | | | | | | | | | | | | | | | | An incorrect memmove when overriding entities caused multiple ones to point to the same procedure with incomplete variant data, resulting in later hiting a compiler assertion. Introduced delayed type checking for procedure aliases, as it was masked by the previous error in the override logic.
* | possibly fix init_core_type_info race conditionLaytan Laats2024-08-101-0/+3
|/
* Add `intrinsics.simd_masked_load` and `intrinsics.simd_masked_store`gingerBill2024-08-051-2/+2
|
* Revert changes to `in_single_threaded_checker_stage`gingerBill2024-07-151-16/+16
|
* Disable the need for mutexes in single threaded checker stagegingerBill2024-07-151-30/+19
|
* Remove use of mutex in single threaded codegingerBill2024-07-151-5/+14
|
* Keep MSVC happy with secure versions of C callsgingerBill2024-07-151-0/+4
|
* Use `gb_zero_*` callsgingerBill2024-07-151-3/+3
|
* Calculate size and alignment, and reuse memory for all variadic calls within ↵gingerBill2024-07-141-0/+2
| | | | a procedure body
* Mock out `#no_capture` for future usegingerBill2024-07-141-1/+1
|
* Add `#no_capture args: ..T` to reuse the backing array stack memorygingerBill2024-07-141-0/+1
|
* remove misleading `@(optimization_mode)` values and make "none" inhibit ↵Laytan Laats2024-07-081-6/+6
| | | | optimizations
* Add sort for global types and proceduresgingerBill2024-07-081-1/+1
|
* Allow `x :: y when cond else proc(...){...}`gingerBill2024-07-041-0/+12
|
* Ff `@(disabled=true)`, do not add that entity's dependencies to the setgingerBill2024-07-041-0/+4
|