aboutsummaryrefslogtreecommitdiff
path: root/src/check_decl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Minimize mutex usage when in single threaded mode.gingerBill2025-09-101-1/+1
|
* Minor mutex rearrangementgingerBill2025-09-101-2/+2
|
* Use macro instead of a C++ iterator - for speedgingerBill2025-09-101-1/+1
| | | | C++ iterators are bad.
* Minimize more thread contentiongingerBill2025-09-101-2/+2
|
* Add `@(raddbg_type_view=<optional-string>)`gingerBill2025-08-211-0/+7
| | | | | 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 `#+feature global-context`gingerBill2025-08-101-1/+6
| | | | This allows to use of `context` in the global scope on a per file basis.
* Disallow `proc "odin"` procedures to be called in the global scope in ↵gingerBill2025-08-081-0/+6
| | | | variable declarations
* Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-021-0/+6
|
* Remove the semantics of `#no_copy`, keep the grammargingerBill2025-07-301-7/+0
|
* Allow objective-c procedures to have their `@objc_name` attribute inferred.Harold Brenes2025-07-161-94/+102
| | | | | | The `@objc_name` is automatically inferred if it is not specified and the procedure name is prefixed with type name specified in `@objc_type`, followed by an `_`. What followed the `_` is interpreted as the `@objc_name`.
* Forbid nested declaration of instrumentation proceduresFeoramund2025-06-231-0/+6
| | | | Fixes #3774
* Fix spurious failure to compile procedures marked `@instrumentation_enter`Feoramund2025-06-231-0/+1
| | | | | The type `Source_Code_Location` may not be available yet, which causes the compiler to not recognize the procedure type correctly.
* 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-36/+177
|\ | | | | Add support for Objective-C class implementation
| * Resolve other TODOsHarold Brenes2025-05-031-87/+86
| |
| * Remove some TODO. Leave important noteHarold Brenes2025-05-031-0/+4
| |
| * Move unconditionally exporting Objective-C methods to the right locationHarold Brenes2025-05-031-1/+13
| |
| * Fix checker errors.Harold Brenes2025-05-031-15/+15
| |
| * Prevent multiple uses of the same Objective-C class nameHarold Brenes2025-05-031-0/+9
| |
| * Implement all checker specification for Objective-C class implementations ↵Harold Brenes2025-05-031-9/+33
| | | | | | | | and `objc_ivar_get` intrinsic
| * Cleanup ivar generation for selector expressions.Harold Brenes2025-04-301-1/+1
| | | | | | | | Cleanup ObjC superclass resolution.
| * Better Objective-C object superclass cycle checkHarold Brenes2025-04-301-36/+34
| |
| * Fix indentationsHarold Brenes2025-04-271-87/+87
| | | | | | | | Fix Objective-C wrapper procs not forwarding return value
| * Add support for Objective-C method implementation with Odin calling convention.Harold Brenes2025-04-231-22/+44
| | | | | | | | Use @objc_context_provider to provide a context for a type.
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-0/+73
| |
* | Add attribute @(no_sanitize_address)Lucas Perlind2025-05-011-0/+1
|/ | | | | | | | | | | 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.
* fix not resolving to alias in a recursive declarationLaytan2025-04-161-1/+5
|
* Fix #4975dev-2025-04gingerBill2025-04-031-0/+4
|
* Use `TypeSet` for DeclInfo depsgingerBill2025-02-181-2/+2
|
* Work on making name mangling deterministicgingerBill2025-02-171-0/+6
|
* Remove debug codegingerBill2025-02-051-1/+1
|
* `@(export) foreign import` to be package scope levelgingerBill2025-01-301-1/+2
|
* fix grammar in error messagejason2025-01-211-1/+1
|
* Merge pull request #4608 from zen3ger/assignment-of-non-specialized-parapolygingerBill2025-01-011-4/+6
|\ | | | | Fix crash on assignment of parapoly proc to variable
| * Fix crash on assignment of parapoly proc to variableRoland Kovacs2024-12-221-4/+6
| |
* | Support multiple paths for wasm in `foreign import`gingerBill2025-01-011-46/+42
|/
* Fix #4390 by assigning invalid entity typeMisomosi2024-10-201-3/+4
|
* Fix #4330gingerBill2024-10-021-0/+4
|
* make c vararg with any vs concrete type similar enoughLaytan2024-09-041-0/+24
|
* fix `open` bindingsLaytan Laats2024-08-161-0/+15
| | | | | | | | | | `open` specifies the `mode` argument as vararg (presumably to make it optional). varargs actually have rules about casting, in this case the rule that any integer arg of size <= 4 has to be casted to `i32` before passing it. Not doing that implicit cast makes the permissions wrong or not apply at all.
* Merge pull request #4012 from laytan/posixgingerBill2024-08-141-2/+18
|\ | | | | core:sys/posix and core:os/os2 based on it (for darwin, netbsd, freebsd and openbsd)
| * posix: add packageLaytan Laats2024-08-141-2/+18
| |
* | Allow `@(require_results)` on `foreign` blocksgingerBill2024-08-141-1/+3
|/
* Fix alias handling of proceduresRoland Kovacs2024-08-121-1/+3
| | | | | | | | | 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.
* Remove use of mutex in single threaded codegingerBill2024-07-151-2/+1
|
* Calculate size and alignment, and reuse memory for all variadic calls within ↵gingerBill2024-07-141-0/+9
| | | | a procedure body
* remove misleading `@(optimization_mode)` values and make "none" inhibit ↵Laytan Laats2024-07-081-1/+0
| | | | optimizations
* Restrict a bit moregingerBill2024-07-041-41/+44
|
* Remove import name casesgingerBill2024-07-041-2/+0
|
* Allow `x :: y when cond else proc(...){...}`gingerBill2024-07-041-78/+156
|