aboutsummaryrefslogtreecommitdiff
path: root/src/checker.hpp
Commit message (Collapse)AuthorAgeFilesLines
* Add `-para-poly-diagnostics`gingerBill2025-09-291-0/+2
|
* Use `RecursiveMutex` to fix a race condition with parapoly recordsgingerBill2025-09-261-1/+1
|
* `Entity *` to `std::atomic<Entity *>` to remove the need for a PtrMap+MutexgingerBill2025-09-191-1/+1
|
* Minimize mutex usage when in single threaded mode.gingerBill2025-09-101-2/+2
|
* Use a `RwMutex` instead of `BlockingMutex`gingerBill2025-09-101-1/+1
|
* More thread contention removalgingerBill2025-09-101-1/+1
|
* Remove global `PtrMap<Type *, GenTypesData *>` and store on the `TypeNamed` ↵gingerBill2025-09-101-2/+0
| | | | directly
* Minimize more thread contentiongingerBill2025-09-101-7/+8
|
* Multithread min dep set by removing the set itselfgingerBill2025-09-101-4/+3
|
* Split type and inline cycles into separate loopsgingerBill2025-09-101-0/+3
|
* skip errors on polymorphic procs when in a proc group with other optionsA10293847562025-08-281-0/+1
|
* Add `@(raddbg_type_view=<optional-string>)`gingerBill2025-08-211-0/+11
| | | | | If no string parameter is provided, then one will be generated from the struct field tags. The attribute must be applied if the automatic struct field tag approach is to be used.
* Add `@(no_sanitize_memory)` proc attribute with MSan additions to ↵Feoramund2025-06-051-0/+1
| | | | `base:sanitizer`
* Merge pull request #5064 from harold-b/hb/objc-classesgingerBill2025-05-081-2/+22
|\ | | | | Add support for Objective-C class implementation
| * Prevent multiple uses of the same Objective-C class nameHarold Brenes2025-05-031-1/+3
| |
| * Implement all checker specification for Objective-C class implementations ↵Harold Brenes2025-05-031-1/+2
| | | | | | | | and `objc_ivar_get` intrinsic
| * Fix more styling and minor issuesHarold Brenes2025-04-271-2/+2
| |
| * Fix indentationsHarold Brenes2025-04-271-9/+9
| | | | | | | | Fix Objective-C wrapper procs not forwarding return value
| * Add support for Objective-C method implementation with Odin calling convention.Harold Brenes2025-04-231-0/+2
| | | | | | | | Use @objc_context_provider to provide a context for a type.
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-1/+16
| |
* | Add attribute @(no_sanitize_address)Lucas Perlind2025-05-011-1/+2
|/ | | | | | | | | | | 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.
* Move temporary array out of `CheckerInfo`gingerBill2025-02-221-3/+2
|
* Change `typeid` definition to be based around the canonical type hashgingerBill2025-02-201-0/+1
| | | | | | | | `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-1/+1
|
* Number fields within procedures with a depth-first numbering systemgingerBill2025-02-191-0/+4
|
* Add `TypeWriter` stream to allow for in-place hashing and string generationgingerBill2025-02-181-55/+1
|
* Use `TypeSet` for DeclInfo depsgingerBill2025-02-181-23/+57
|
* Simplify type info table constructiongingerBill2025-02-171-7/+10
|
* Begin work on `TypeSet`gingerBill2025-02-171-2/+19
|
* Begin work on hash typesgingerBill2025-02-171-1/+6
|
* Work on making name mangling deterministicgingerBill2025-02-171-0/+2
|
* Add `@(ignore_duplicates)` for `foreign import` declarationsgingerBill2025-01-281-0/+1
|
* Merge pull request #4607 from zen3ger/parapoly-proc-fixesgingerBill2025-01-011-0/+1
|\ | | | | Fix crash when proc return type is undeclared parapoly variable
| * Fix crash when proc return type is undeclared parapoly variableRoland Kovacs2024-12-221-0/+1
| | | | | | | | | | | | | | | | Disallow the declaration of new parapoly variables in return types, when the procedure's parapoly scope is itself. This happens if e.g.: `foo :: proc() -> $T`. Closes #3949, #4294, #4563
* | Support multiple paths for wasm in `foreign import`gingerBill2025-01-011-0/+1
|/
* Allow `@(require_results)` on `foreign` blocksgingerBill2024-08-141-0/+4
|
* Calculate size and alignment, and reuse memory for all variadic calls within ↵gingerBill2024-07-141-1/+3
| | | | a procedure body
* Mock out `#no_capture` for future usegingerBill2024-07-141-2/+2
|
* Add `#no_capture args: ..T` to reuse the backing array stack memorygingerBill2024-07-141-0/+7
|
* Merge pull request #3137 from laytan/show-defineablegingerBill2024-06-201-0/+14
|\ | | | | Add flags to show/export defineable values and warn if a -define is unused in the project
| * collect and show docs of defineablesLaytan Laats2024-06-071-3/+4
| |
| * check if -define is actually usedLaytan Laats2024-06-061-0/+1
| |
| * -show-defineables and -export-defineablesLaytan Laats2024-06-061-0/+12
| |
* | Add `intrinsics.procedure_of`gingerBill2024-06-101-0/+6
|/ | | | | | | | ```odin foo :: proc(x: $T) { fmt.println(x) } bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of` bar(333) // prints 333 ```
* Add `@(rodata)`gingerBill2024-06-061-0/+1
|
* implement `#exists(path)`Laytan Laats2024-06-041-0/+9
|
* Add `@(link_suffix=<string>)`gingerBill2024-05-301-1/+4
|
* Delay checking foreign import paths until after global scope is checkedgingerBill2024-05-281-0/+3
|
* Fix #3427gingerBill2024-04-161-1/+4
|
* Fix another #soa race condition buggingerBill2024-03-261-0/+1
|