aboutsummaryrefslogtreecommitdiff
path: root/src/entity.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make `Entity.parent_proc_decl` atomicgingerBill13 days1-2/+2
|
* Make `Entity.code_gen_*` atomicgingerBill13 days1-2/+2
|
* Add `@(no_sanitize_thread)`gingerBill2026-01-151-0/+1
|
* Automatically emit objc_msgSend calls when calling imported or implemented ↵Harold Brenes2025-09-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Objective-C methods - Add intrinsics.objc_super() - Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self) - Fix objc_block return value ABI for large struct returns - Fix objc_implement method wrappers bad ABI for large struct returns and indirect args - Simplify parameter forwarding for objc_imlpement methods - Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns This facilitates returning the correct type on subclasses when calling mehtods such as `alloc`, `init`, `retain`, etc. - Refactor Objective-C class implementations generation so that hierarchies are properly initialized - Better codegen for context passing with ivar-based autocontext - Allow @superclass on imported objc-c objects - Better codegen for block forwarding invoker, arguments are forwarded directly
* Use `RecursiveMutex` to fix a race condition with parapoly recordsgingerBill2025-09-261-0/+1
|
* Minimize more thread contentiongingerBill2025-09-101-1/+1
|
* Multithread min dep set by removing the set itselfgingerBill2025-09-101-0/+1
|
* 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-0/+4
|\ | | | | Add support for Objective-C class implementation
| * Fix indentationsHarold Brenes2025-04-271-3/+3
| | | | | | | | 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/+1
| | | | | | | | Use @objc_context_provider to provide a context for a type.
| * Add initial support for Objective-C class implementationHarold Brenes2025-04-201-0/+3
| |
* | 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.
* Work on making name mangling deterministicgingerBill2025-02-171-0/+1
|
* Add `@(ignore_duplicates)` for `foreign import` declarationsgingerBill2025-01-281-0/+1
|
* Add `#branch_location`gingerBill2025-01-011-0/+1
|
* add '#caller_expression'Laytan Laats2024-09-141-0/+1
|
* Add `#no_capture args: ..T` to reuse the backing array stack memorygingerBill2024-07-141-1/+1
|
* Merge pull request #3895 from laytan/fix-optimization-mode-attributegingerBill2024-07-101-3/+1
|\ | | | | remove misleading @(optimization_mode) values and make "none" inhibit optimizations
| * remove misleading `@(optimization_mode)` values and make "none" inhibit ↵Laytan Laats2024-07-081-3/+1
| | | | | | | | optimizations
* | Correct `-use-separate-module` behaviourgingerBill2024-07-081-0/+3
|/
* Minor clean up for backendgingerBill2024-06-111-0/+1
|
* Add `@(rodata)`gingerBill2024-06-061-0/+1
|
* Add `@(link_suffix=<string>)`gingerBill2024-05-301-0/+2
|
* Delay checking foreign import paths until after global scope is checkedgingerBill2024-05-281-0/+1
|
* Remove the old switch/for semantics entirely and enforce `switch &x in y`gingerBill2024-05-161-2/+0
|
* Fix #3555gingerBill2024-05-091-0/+1
|
* compiler: improve target features supportLaytan Laats2024-05-021-3/+1
|
* Fix `@(static)` error message buggingerBill2024-04-111-1/+1
|
* Add some basic escape analysis errors for `return &x`gingerBill2024-03-231-0/+23
|
* Update doc-format for `#by_ptr` and `#no_broadcast` parametersgingerBill2024-03-211-1/+0
|
* Add `#no_broadcast` procedure parameter to disallow automatic array ↵gingerBill2024-03-211-0/+1
| | | | programming broadcasting on procedure arguments
* Add general support for `bit_field`sgingerBill2024-02-221-0/+2
|
* Implement instrumentation passgingerBill2024-01-071-1/+1
|
* Add frontend stuff instrumentation toolinggingerBill2024-01-071-0/+1
| | | | | | | //+no-instrumentation @(no_instrumentation) @(instrumentation_enter) @(instrumentation_exit)
* Add `@(entry_point_only)` for proceduresgingerBill2024-01-051-0/+1
|
* Remove temporary assertgingerBill2023-08-071-1/+0
|
* Fix `using` buggingerBill2023-08-071-0/+1
|
* Merge branch 'master' into tildegingerBill2023-08-031-4/+3
|\
| * Go through loads of `TODO`sgingerBill2023-08-011-4/+3
| |
* | Very start of working on Tilde Backend for OdingingerBill2023-07-141-4/+8
|/
* Allow `switch &v in ...` work to be consistent with `for &e in ...`gingerBill2023-06-261-1/+3
|
* `for &e, i in array` and `for k, &v in map` (alternative to passing the ↵gingerBill2023-06-261-0/+2
| | | | iterable by pointer)
* Add `@(extra_linker_flags=<string>)`gingerBill2023-03-211-0/+1
|
* Implement `@(fini)` (opposite of `@(init)`)gingerBill2023-02-151-0/+1
|
* Remove `auto_cast` procedure field flaggingerBill2023-01-161-1/+1
| | | | Fixes #2285
* Localize `GenProcsData` to the entity itselfgingerBill2023-01-041-1/+4
|
* Remove the synchronization primitive init/destroy callsgingerBill2023-01-011-1/+0
|
* Remove dead code in the compilergingerBill2022-12-181-8/+0
|
* Even more `gb_internal` everywheregingerBill2022-12-181-26/+26
|