Commit Graph

893 Commits

Author SHA1 Message Date
Richard Nyberg
bb2e7e60ce Reject chained deferred procedures. 2026-07-12 07:49:46 +02:00
Jeroen van Rijn
94be05ead1 Merge pull request #6918 from Kelimion/deprecate-llvm-14
Remove LLVM 14 support
2026-07-03 21:35:47 +02:00
MauriceElliott
56cee0c2cf fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag. 2026-07-01 21:18:28 +01:00
Jeroen van Rijn
2d2979a5f2 Remove old pass manager 2026-06-30 22:44:28 +02:00
gingerBill
37c349e604 Fix #6907 2026-06-29 13:47:46 +01:00
gingerBill
6fdaedf182 Fix indentation 2026-06-24 14:05:35 +01:00
gingerBill
40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
gingerBill
d16a37e649 Add warning to help very large return values (partially fixes #6568) 2026-06-22 15:41:43 +01:00
Andreas Stenmark
d08c953411 Fix #6811: collect @(test) procs from #+private file by iterating c->info.entities instead of pkg->scope->elements. 2026-06-14 23:10:36 +02:00
gingerBill
16eac6187d Re-add @(link_section<string>) for procedures 2026-06-02 13:38:39 +01:00
gingerBill
7a5a73efae Generalize is_foreign_name_valid but add TODO to see how it should work. 2026-06-02 13:21:57 +01:00
gingerBill
a479eb7775 Support @(link_section=<string>) for procedures 2026-06-02 13:09:40 +01:00
gingerBill
b0ee0bb635 Add @(fast_math={...}) + intrinsics.Fast_Math_Flags 2026-05-11 11:55:07 +01:00
gingerBill
8ffcdf172a Odin_Calling_Convention defined in compiler; Allow for main :: proc "contextless" () {} with -bedrock; intrinsics.type_proc_calling_convention 2026-05-05 15:07:42 +01:00
gingerBill
ea00291519 Begin work on -bedrock mode
Currently disables 128-bit integers, `map` type, and RTTI
2026-05-02 15:06:01 +01:00
Ignacy Koper
d1915fa6f5 removed Haiku from compiler targets, and tests
Signed-off-by: Ignacy Koper <ignacy423@gmail.com>
2026-04-28 19:27:23 +02:00
gingerBill
7b97530443 Add intrinsics.c_var_* 2026-04-28 15:00:53 +01:00
Ignacy Koper
3e64a72bad removed Essence from supported targets
Signed-off-by: Ignacy Koper <ignacy423@gmail.com>
2026-04-27 11:10:48 +02:00
gingerBill
021c224f5c Fix alignment 2026-04-22 13:38:47 +01:00
FourteenBrush
44938b6b64 Make @(rodata) on constants yield 'not supported' message 2026-04-22 14:33:21 +02:00
Harold Brenes
e11bbdaa37 Fix issue where 2 when statements which eval to true
in a `foreign` block cause the rest of the statements on
the block to go unchecked
2026-03-26 19:53:59 -04:00
gingerBill
25c10c18cc Remove tilde backend 2026-03-26 11:49:39 +00:00
gingerBill
46936e0e52 General improvements 2026-03-17 12:55:25 +00:00
gingerBill
9ad3a23f27 More improvements to performance; AtomicFreelist abstraction 2026-03-17 12:10:49 +00:00
gingerBill
b19e89578f Improve check_struct_fields performance; use CheckerTypePath free list 2026-03-17 11:42:03 +00:00
gingerBill
04cb889aed Begin interning ScopeMap strings 2026-03-17 11:04:32 +00:00
gingerBill
36d5a19115 Replace Scope.elements to use a custom hash map ScopeMap
This hash map is robin hood based with a inline slot amount for small scopes
2026-03-16 17:41:58 +00:00
gingerBill
1744f57d01 Use permanent_alloc_item directly rather than through the gb_alloc_item generic interface 2026-03-16 16:03:27 +00:00
gingerBill
55b3ea7c2d Allow @(deprecated=<string>) on types 2026-03-15 18:58:48 +00:00
gingerBill
c6772dfd06 Merge branch 'master' into bill/fixed-capacity-dynamic-array 2026-03-15 11:41:01 +00:00
gingerBill
0e6ea3884d General improves 2026-03-14 16:26:42 +00:00
Laytan Laats
f56ec37d1b fix type info of u16 could not be found 2026-03-13 20:43:03 +01:00
gingerBill
f1dbe9c242 [dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T)) 2026-03-11 16:46:33 +00:00
gingerBill
b7bb7a1dc4 Use scope_reserve call directly 2026-03-11 14:22:36 +00:00
gingerBill
041ebdd8f6 Add parent mutex lock for scope_insert_with_name 2026-02-02 11:39:17 +00:00
gingerBill
ad2122a7fc Move alignas to before name 2026-02-02 11:05:30 +00:00
gingerBill
c7f40b8b8f Use mutex striping for add_type_and_value 2026-02-02 11:03:50 +00:00
gingerBill
f4a7e0b279 Add @(no_sanitize_thread) 2026-01-15 18:06:25 +00:00
gingerBill
7fa05f16bf Minor change from make_checker_context to init_checker_context 2026-01-03 20:14:15 +00:00
gingerBill
93d7e2a452 Add globaldynamic thread_local model (same as the current default) 2025-12-30 13:08:30 +00:00
Krzesimir Nowak
8ca7fc481f Fix misleading error messages for init, fini and test attributes
These look like copy-pasta from the private attribute.
2025-12-21 18:59:26 +01:00
Franz
ba9b9eacb5 Fix #5967 (Incorrect stack overflow warning for by ref switches over unions) 2025-11-28 13:55:07 +01:00
Laytan
eb089a1c98 skip collision panic when package names aren't unique 2025-11-16 15:06:30 +01:00
gingerBill
816c47058d For test runner, try to look for os.exit or os2.exit 2025-10-30 16:14:32 +00:00
Jeroen van Rijn
e4db455458 Fix #5785 2025-10-11 20:32:09 +02:00
Harold Brenes
86f9c920da Fix Objective-C block symbols naming conflict across modules.
Fix assert triggered when there's checker errors and
 Objective-C method implementations.
2025-10-05 15:53:42 -04:00
Harold Brenes
fc44b10431 Include objc runtime type dependencies only on darwin 2025-09-29 20:38:16 -04:00
Harold Brenes
5af13f5d53 Automatically emit objc_msgSend calls when calling imported or implemented 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
2025-09-29 20:37:48 -04:00
gingerBill
6ce889f4eb Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex 2025-09-19 11:01:41 +01:00
gingerBill
5ea2e1fe60 Minimize mutex usage when in single threaded mode. 2025-09-10 21:41:52 +01:00