Commit Graph

737 Commits

Author SHA1 Message Date
Tohei Ichikawa
d6b5a3139a Fix allocation of anonymous globals 2025-11-09 21:07:28 -05:00
Jeroen van Rijn
338733d9ef Remove duplicate import 2025-10-30 17:54:02 +01:00
gingerBill
816c47058d For test runner, try to look for os.exit or os2.exit 2025-10-30 16:14:32 +00:00
gingerBill
36d63b14b5 Just retry again with lb_generate_missing_procedures 2025-10-29 17:46:00 +01:00
Jeroen van Rijn
0605c7b0e3 Add target triple and LLVM code mode debug prints (#5839) 2025-10-22 10:27:27 +02:00
Laytan
e7ecb16a1e llvm 21 support 2025-10-14 19:55:00 +02:00
Yhya Ibrahim
a672c68f03 Make -target-features flag support disabling of a feature 2025-10-11 15:26:01 +03:00
gingerBill
bc9e6f852e Merge pull request #5762 from A1029384756/llvm-14-entry-fix
[llvm-14-entry-fix] bitcast context pointer to match types for llvm 14
2025-10-06 13:26:52 +01:00
A1029384756
866486fa1c [llvm-14-entry-fix] bitcast context pointer to match types for llvm 14 2025-10-06 00:12:31 -04:00
gingerBill
810ca89253 Merge pull request #5727 from harold-b/hb.intrinsics.objc_super
Add intrinsics.objc_super and Automatically emit objc_msgSend calls
2025-10-05 20:27:01 +01: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
9e8be055c1 Rename to -build-diagnostics 2025-09-29 16:16:19 +01:00
gingerBill
11712627cb Add module stuff to -para-poly-diagnostics 2025-09-29 16:14:55 +01:00
gingerBill
53f4fc1cbb Add -para-poly-diagnostics 2025-09-29 14:03:32 +01:00
gingerBill
4f442c6045 Rearrange const union initialization so that it is priority 2025-09-29 09:51:23 +01:00
gingerBill
4877214f34 Add more check_is_operand_compound_lit_constant uses 2025-09-28 23:53:07 +01:00
gingerBill
17c9e1d76b Fix global initialization when non was set 2025-09-28 22:11:46 +01:00
gingerBill
17204bd1c2 Global const unions with @(rodata) 2025-09-28 20:40:26 +01:00
gingerBill
31f0aaa62f Try to improve const union LLVM construction 2025-09-24 09:55:22 +01:00
gingerBill
90d1229ead Make LLVM_WEAK_MONOMORPHIZATION opt-in again 2025-09-24 09:13:48 +01:00
gingerBill
c9eef7c835 Single thread lb_create_startup_runtime_generate_body 2025-09-22 21:10:01 +01:00
gingerBill
9b8771b475 Handle missing procedures better 2025-09-19 16:15:04 +01:00
gingerBill
76705c6800 Convert missing_procedures_to_check to a queue 2025-09-19 14:18:09 +01:00
gingerBill
6bca1475ed Convert procedures_to_generate to a queue 2025-09-19 14:15:25 +01:00
gingerBill
ee3b10335b Split further 2025-09-19 13:59:58 +01:00
gingerBill
f1e3977cf9 Split up startup call into separate calls 2025-09-19 13:57:52 +01:00
gingerBill
ec91e2c15b Separate ini global var stuff 2025-09-19 13:52:25 +01:00
gingerBill
4d2854f561 Merge pull request #5632 from kalsprite/x386
windows i386 support
2025-09-18 22:01:14 +01:00
gingerBill
9cf69576ab More improvements to minimize code gen size 2025-09-18 20:58:24 +01:00
gingerBill
4b0a07ba27 Minor rearrangement 2025-09-18 17:06:09 +01:00
gingerBill
37e1e00623 Revert global procedure threading 2025-09-18 16:57:21 +01:00
gingerBill
111e2f0c1b After global procedures and types are generated, then queue the generation of the procedures for each module 2025-09-18 16:53:00 +01:00
gingerBill
5559916d5c Mulithread startup procedure body generation 2025-09-18 16:35:04 +01:00
gingerBill
0f307fbc5d Use multiple modules per file in package runtime 2025-09-18 15:34:19 +01:00
gingerBill
738a72943b Try moving parapoly procs into a separate module when doing weak monomorphization 2025-09-18 15:04:16 +01:00
gingerBill
1e0902677f Multithread min dep set by removing the set itself 2025-09-10 17:29:11 +01:00
Jon Lipstate
231ce2da59 windows i386 support 2025-08-29 12:41:38 -07:00
gingerBill
d5b1fc48fb Add @(raddbg_type_view=<optional-string>)
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.
2025-08-21 17:14:33 +01:00
gingerBill
1470c300c7 Add support for [dynamic]T in .raddbg 2025-08-07 12:45:59 +01:00
gingerBill
ae02d3d02d Begin supporting string16 across the core library 2025-08-02 11:55:16 +01:00
Harold Brenes
efe4f40974 Fix @objc_implement methods not respecting @objc_is_class_method
Fix incorrect type encoding for objc_class
2025-07-15 23:47:13 -04:00
Feoramund
598c1a1f19 Allow overriding object extension in -build-mode:obj 2025-05-30 08:01:23 -04:00
Feoramund
ee8234c792 Don't double-append module name when building separate objects
`m->module_name` will already have the `BuildPath_Output` name
prepended.
2025-05-30 07:15:34 -04:00
Mohit Sethi
d2b69577bc raddebugger: change table to columns 2025-05-28 22:08:14 +01:00
gingerBill
7e564c3a35 Merge pull request #5130 from odin-lang/bill/raddebugger-custom-section
RAD Debugger support through the custom `.raddbg` section
2025-05-28 11:16:34 +01:00
Feoramund
6c5b96948e Enable all sanitizers on FreeBSD 2025-05-22 21:39:35 -04:00
gingerBill
c383e550f9 Merge branch 'master' into bill/raddebugger-custom-section 2025-05-22 16:04:42 +01:00
gingerBill
34e998c1fc Merge pull request #5173 from Feoramund/fix-linux-shared-lib-runtime-call
Keep shared libraries from calling main program's startup/cleanup procs on Linux
2025-05-22 15:27:53 +01:00
Feoramund
713360a792 Keep shared libraries from calling main program's startup/cleanup procs on Linux 2025-05-22 09:40:37 -04:00
Laytan Laats
c35a45e823 fix global and static any
Fixes #4627
2025-05-17 16:49:30 +02:00