gingerBill
c383e550f9
Merge branch 'master' into bill/raddebugger-custom-section
2025-05-22 16:04:42 +01:00
gingerBill
92df892f25
Merge pull request #5064 from harold-b/hb/objc-classes
...
Add support for Objective-C class implementation
2025-05-08 12:58:33 +01:00
gingerBill
ea65a7b870
Move raddbg string stuff to a thread-safe queue
2025-05-07 14:26:10 +01:00
Laytan Laats
ad4866653a
fix disposing builder when not created
...
Fixes #5128
p->builder is created in lb_begin_procedure_body, but that isn't called
if there is no body, and we were still calling dispose at that point.
Moved it into lb_end_procedure_body to match.
2025-05-07 14:39:51 +02:00
Lucas Perlind
83bc2d3c4a
Add asan support for various allocators
2025-05-06 14:55:50 +10:00
Harold Brenes
f3923ed666
Fix indentations
...
Fix Objective-C wrapper procs not forwarding return value
2025-04-27 22:55:53 -04:00
Harold Brenes
a3de9c8de4
Add initial support for Objective-C class implementation
2025-04-20 21:53:46 -04:00
gingerBill
fe040d1bbd
Propagate @(link_section=<string>) to nested declarations
2025-04-08 11:36:53 +01:00
gingerBill
cd5bef4f61
Rewrite objc SEL/Class register handling code
2025-04-03 09:37:38 +01:00
gingerBill
5eaff20f4a
Add mutex for lb_handle_objc_find_or_register_class
2025-04-02 18:26:40 +01:00
gingerBill
d0dd1b2d80
Add mutex for lb_handle_objc_find_or_register_selector
2025-04-02 18:23:08 +01:00
gingerBill
400348c925
Improve global array index to be on a per module basis
2025-02-25 15:06:13 +00:00
gingerBill
5aafbc7f30
Use more deterministic module names
2025-02-25 14:35:54 +00:00
gingerBill
f9d85a7311
Try to make globally generated variables deterministic in name
2025-02-25 14:29:14 +00:00
gingerBill
f56a0a80d3
Use type hash for doc writer
2025-02-24 15:37:54 +00:00
gingerBill
de70e6faa0
Use more type hashes where possible
2025-02-24 15:33:35 +00:00
gingerBill
83f1c879ec
Canonicalize generated procedures (hasher/equal/map)
2025-02-24 15:18:27 +00:00
gingerBill
f0f395c510
Fix canonicalization
2025-02-24 14:24:06 +00:00
gingerBill
46a8991d0f
Canonicalize generated procedures
2025-02-24 14:19:02 +00:00
gingerBill
99d91ccd31
Work on making name mangling deterministic
2025-02-17 11:32:49 +00:00
Laytan Laats
9dc17f4c47
optimize fix
2025-01-24 19:33:57 +01:00
Laytan Laats
b2aaf90f88
fix separate modules with objc code
2025-01-24 19:23:49 +01:00
gingerBill
a2a0a2c8d8
Merge pull request #4611 from tf2spi/4491-max-field-align-pack
...
Add packing + aligned access w/ field_align
2025-01-01 18:03:44 +00:00
gingerBill
7b334d2bd9
Add #branch_location
2025-01-01 17:26:15 +00:00
misomosi
fdf510b7b3
Pack struct when needed, use field_align metadata
2024-12-22 10:05:13 -05:00
gingerBill
44124cb639
Merge pull request #4440 from 0dminnimda/support_llvm19
...
Add support for llvm version 19
2024-11-27 21:15:59 +00:00
gingerBill
e38a08013e
Remove #relative types from the compiler
2024-11-14 16:17:24 +00:00
0dminnimda
dbed2c92b4
Add support for llvm version 19
2024-10-31 15:56:23 +03:00
Laytan Laats
603efa860a
add '#caller_expression'
2024-09-14 22:13:37 +02:00
gingerBill
8e52a52580
Cache the paddding filler type
2024-08-18 18:37:40 +01:00
gingerBill
bc5b41938e
Fix #3964
2024-07-23 02:40:51 +01:00
gingerBill
549311fac9
Fix global variables being "missing" with -use-separate-modules
2024-07-15 12:21:42 +01:00
gingerBill
c5decd3eae
Fix possible race and correct linkage _after_ generation
2024-07-15 11:49:07 +01:00
gingerBill
6959554040
Calculate size and alignment, and reuse memory for all variadic calls within a procedure body
2024-07-14 13:44:47 +01:00
gingerBill
5027c7081e
Reuse slice variable for variadic parameters
2024-07-14 12:50:33 +01:00
gingerBill
3dff83f3dc
Mock out #no_capture for future use
2024-07-14 12:39:30 +01:00
gingerBill
8642d719f0
Imply #no_capture to all variadic parameters
2024-07-14 12:19:47 +01:00
gingerBill
edc793d7c1
Add #no_capture args: ..T to reuse the backing array stack memory
2024-07-14 11:39:05 +01:00
gingerBill
34c6868e78
Merge pull request #3895 from laytan/fix-optimization-mode-attribute
...
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-10 13:22:57 +01:00
Laytan Laats
1a20b78633
remove misleading @(optimization_mode) values and make "none" inhibit optimizations
2024-07-08 21:06:57 +02:00
gingerBill
2c9ef6907a
Clean up timings messages showing used module count
2024-07-08 15:30:33 +01:00
gingerBill
0b02c67cdf
Minor clean up for backend
2024-06-11 12:19:52 +01:00
Laytan Laats
9d1db48549
remove is_packed bodge
2024-05-07 17:25:17 +02:00
Laytan Laats
77efdcd899
fix packed gep loads with wrong alignment
2024-05-07 16:52:46 +02:00
Laytan Laats
ecddf3b7f1
llvm-18: cleanup
2024-05-07 16:52:46 +02:00
gingerBill
de5ce90fa7
Add metadata to packed structs field accesses to state it is packed
2024-05-07 15:28:09 +01:00
gingerBill
c330e5b5c1
Improve codegen for bit_field compound literals with an integer backing
2024-04-24 14:46:34 +01:00
Laytan Laats
9647cb74ad
debug info fixes/refactor
...
This fixes (on my end) #3340 , #3117 , #2945 , #2922 , and #2762
A general refactor of debug info generation in order to fix issues and
increase stability.
What I believe is the root cause of a bunch of issues is that we use the
temporary metadata/forward declarations too much (/ hold onto them for
too long). It seems to cause problems with the reference counting inside
LLVM.
This PR reduces the use of these forward declarations to a minimum, it
creates it, fills in the fields, and resolves it, instead of waiting
until the end of generating code.
Some smaller issues I came across have also been solved.
2024-04-01 16:28:44 +02:00
gingerBill
effc71ca43
Fix case: bug with by-ref unions
2024-03-18 12:20:53 +00:00
gingerBill
5107bdc06b
Make lb_type_info use a procedure to load the global value
2024-02-27 15:45:53 +00:00