aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add support for Objective-C method implementation with Odin calling convention.Harold Brenes2025-04-231-0/+64
| | | | | | | | Use @objc_context_provider to provide a context for a type.
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-2/+75
| |
* | Add attribute @(no_sanitize_address)Lucas Perlind2025-05-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | The purposes of this attribute is to let procedures opt-out of being instrumented with asan. Typically an allocator that includes 'in-band' meta-data will be accessing poisoned values (such as tlsf). Making asan work with these allocators becomes very challenging so just being to ignore asan within specific allocator procedures makes it easier to reason and removes the need to temporarily poison and unpoison allocator data.
* | Warn if someone imports the same case-folded path twiceJeroen van Rijn2025-04-271-0/+13
|/
* Remove warning on struct field parameters being too big for the stackgingerBill2025-04-091-1/+1
|
* Very very rudimentary support for `-target:linux_arm64 -subtarget:android`gingerBill2025-03-261-0/+1
|
* Fix #4914gingerBill2025-03-061-0/+8
|
* 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
|