Laytan
c4d1cd6ee5
fixes for 32bit with regards to typeid
2025-11-04 21:37:29 +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
ae02d3d02d
Begin supporting string16 across the core library
2025-08-02 11:55:16 +01:00
gingerBill
c383e550f9
Merge branch 'master' into bill/raddebugger-custom-section
2025-05-22 16:04:42 +01:00
tf2spi
2f636886a5
Add debug info for labels ( #4385 )
...
* Emit label debug info w/o location
* Insert debug label call
* Slight refactor for later fix
* Improve debug labels for block statements
* Improve debug info with for loops
* Generate label lbBlocks w/ debug
* Lightly refactor lb_add_debug_label
* Revise comments, add null check assertion
* Use LLVM-C API for debug labels
* Prefer C DILabel API for POSIX, fallback to CPP
* Use version check for LLVM-C DILabel
2025-05-15 22:11:06 +02:00
gingerBill
ea65a7b870
Move raddbg string stuff to a thread-safe queue
2025-05-07 14:26:10 +01:00
gingerBill
833d77da1f
Add column major matrix support
2025-05-07 13:20:14 +01:00
gingerBill
e0125ccec2
Begin work on adding support for the .raddbg section for the RAD Debugger
2025-05-07 11:30:15 +01:00
gingerBill
ce5b7cccab
Fix lb_add_debug_local_variable to use the correct procedure in LLVM 20
2025-04-03 10:04:14 +01:00
gingerBill
d209af5094
Update to LLVM 20.1.0
2025-03-18 15:39:18 +00:00
gingerBill
90a973ccf6
Make debug symbols use the new name canonicalization rules
2025-02-20 10:27:59 +00:00
Laytan Laats
2620721128
'#no_nil' I am actually disappointed in myself
2025-01-08 21:45:59 +01:00
Laytan Laats
b3c359557e
#no_nil third time's the charm
2025-01-08 21:24:22 +01:00
Laytan Laats
7185a93a86
actually fix #no_nil debug info
...
Fixes #4664
2025-01-08 20:24:31 +01:00
Laytan Laats
2aae4cfd46
fix #no_nil in debug info
...
Fixes #4664
2025-01-08 18:47:32 +01:00
gingerBill
e38a08013e
Remove #relative types from the compiler
2024-11-14 16:17:24 +00:00
Laytan Laats
d03d9e49a6
fix #4243
2024-09-15 00:03:20 +02:00
Laytan Laats
4f3f256375
improve bit field debug info
2024-09-14 15:52:37 +02:00
gingerBill
5a4746c3a0
Improve debug information for procedure types
2024-09-07 17:41:16 +01:00
gingerBill
8b248673c1
Fix #4105
2024-08-24 13:36:43 +01:00
gingerBill
549311fac9
Fix global variables being "missing" with -use-separate-modules
2024-07-15 12:21:42 +01:00
gingerBill
eef2aef021
Fix #3724
2024-06-10 15:07:45 +01:00
Laytan Laats
7d29389834
fix debug info IR error on LLVM < 13
2024-06-04 14:41:42 +02:00
Laytan Laats
90369b669b
fix direct proc args debug info
2024-04-22 19:36:24 +02:00
gingerBill
f84a092977
Fix typo.
2024-04-18 11:28:46 +01:00
gingerBill
aad41fc762
Fix #3445
2024-04-18 11:27:42 +01:00
Laytan Laats
4fc96e1ca5
change unneeded permanent allocation to temporary
2024-04-01 19:06:05 +02:00
Laytan Laats
cfc85fd737
fix wrong type in map debug info
2024-04-01 18:42:10 +02:00
Laytan Laats
7c2352ea08
remove soa handling in debug info, fields are already added in checker
2024-04-01 16:51:16 +02: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
4edcaa6124
Try storing a pointer to a fake metadata type in the debug info for a map
2024-03-30 10:29:20 +00:00
Laytan Laats
915f63b3f9
fix a segfault when incomplete types array resizes while processing
2024-03-29 22:42:12 +01:00
gingerBill
ff24cfe314
Fix debug issue with maps
2024-03-01 14:00:14 +00:00
gingerBill
a4b8c1ea17
Begin work adding bit_field
2024-02-22 15:55:54 +00:00
gingerBill
912c326d8b
Fix typo that causes map info debug issues
2024-02-13 17:06:04 +00:00
gingerBill
5cd57a3a7f
Use Raw_Map as the debug information for a map
2024-02-13 15:50:07 +00:00
gingerBill
c291fffce1
Add metadata type to maps debug information to aid debuggers knowing what is in it it
2024-02-12 12:29:37 +00:00
gingerBill
c91898a888
Remove #relative slices; Replace with #relative multi-pointers
2023-08-05 16:05:39 +01:00
gingerBill
4a75a1e839
Merge branch 'master' into separate-int-word-sizes
2023-06-06 22:42:04 +01:00
gingerBill
8bf32ac697
Minor change to handling of propagation of errors with --- as a value
2023-05-22 12:53:29 +01:00
gingerBill
60ec3594ab
Remove unused variable
2023-05-18 11:29:27 +01:00
gingerBill
685f7d0fea
Rename word_size to ptr_size internally to make it clearer
2023-04-20 12:18:13 +01:00
gingerBill
84f966cb8f
Begin work on separating int and word sizes (i.e. size_of(int) might not equal size_of(uintptr))
2023-04-20 11:46:41 +01:00
gingerBill
7c0257fcda
Fix value elision on declaration
2023-03-09 15:39:41 +00:00
gingerBill
55176e52fc
Use heap_allocator() with -debug; Reinstate the arena guards
2023-01-23 11:38:18 +00:00
gingerBill
65c0255e7e
Replace RecursiveMutex with a BlockingMutex
2023-01-16 18:05:58 +00:00
gingerBill
3b22c6620c
Begin to generalize modules away from AstPackage * in -use-separate-modules
2023-01-12 17:13:25 +00:00
gingerBill
5eee8077dd
enum-ifiy function pass managers for lbModule
2023-01-05 15:56:45 +00:00
gingerBill
c1f5be24e2
Remove dead code in the compiler
2022-12-18 22:49:10 +00:00
gingerBill
6cdec65ca1
gb_internal LLVM backend
2022-12-18 22:32:05 +00:00