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
Jeroen van Rijn
0d8dadb084
Merge pull request #3357 from DragosPopse/win32-coinit-fix
...
Fixed windows.COINIT.MULTITHREADED declaration.
2024-03-31 20:41:13 +02:00
Dragos Popescu
d0674cb70f
Fixed windows.COINIT.MULTITHREADED declaration. It's supposed to be 0 rather than 3
2024-03-31 21:29:49 +03:00
gingerBill
2bdf5f58ef
Enforce error on old style for/switch l-value
2024-03-30 14:23:47 +00:00
gingerBill
8e1a2094a7
Fix debug info for map
2024-03-30 13:46:23 +00:00
gingerBill
9271372fef
Fix #field_align issues, by simplifying the LLVM struct type generation
2024-03-30 13:06:51 +00: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
gingerBill
d84d65ba45
Merge pull request #3348 from rick-masters/fix_convert_smaller_float_endian
...
Implement endian conversions for smaller float types.
2024-03-29 22:13:58 +00:00
gingerBill
28fb1ba83d
Merge pull request #3350 from laytan/fix-gb.h-for-fsanitize-address
...
fix gb.h to be able to use -fsanitize=address
2024-03-29 22:13:32 +00:00
gingerBill
db95ed7cdd
Merge pull request #3353 from laytan/fix-incomplete-types-resize-segfault
...
fix a segfault when incomplete types array resizes while processing
2024-03-29 22:13:01 +00:00
Laytan Laats
e6a552e0ce
fix gb.h to be able to use -fsanitize=address
2024-03-29 22:51:58 +01:00
Laytan Laats
915f63b3f9
fix a segfault when incomplete types array resizes while processing
2024-03-29 22:42:12 +01:00
rick-masters
e1b545860f
Implement endian conversions for smaller float types.
2024-03-29 11:05:27 +00:00
Jeroen van Rijn
8899f42478
Merge pull request #3347 from harold-b/macos-timing-fix
...
Fix incorrect timings on macOS
2024-03-29 10:15:16 +01:00
Harold Brenes
13b8a5b73d
Reverting to calculated frequency timings method on macOS, but fixed
2024-03-29 05:04:40 -04:00
Harold Brenes
b84a660806
Fix incorrect timings on macOS
2024-03-28 21:09:37 -04:00
Jeroen van Rijn
d325c8ad23
Merge pull request #3346 from laytan/add-macos-14.4.1
...
add MacOS 14.4.1 to sys/info and odin report
2024-03-28 19:43:57 +01:00
Laytan Laats
b7fd51a251
add MacOS 14.4.1 to sys/info and odin report
2024-03-28 19:39:18 +01:00
Jeroen van Rijn
7325120ca9
Merge pull request #3345 from laytan/speed-up-path-to-fullpath
...
fix not setting ok in cached code path
2024-03-28 19:27:31 +01:00
Laytan Laats
9a5a39c07d
fix not setting ok in cached code path
2024-03-28 19:16:55 +01:00
Jeroen van Rijn
9b43aa3c94
Merge pull request #3344 from laytan/speed-up-path-to-fullpath
...
compiler: speed up path_to_fullpath on Linux/MacOS
2024-03-28 19:02:39 +01:00
Laytan Laats
63f30a8207
speed up path_to_fullpath on Linux/MacOS
...
We did some profiling for #3343 and this seems to be the biggest
problem. `realpath` is expensive, and we are locking here for no reason
that I can think of.
This improves the "check procedure bodies" timing (of the linked issue)
from 2.4s to .4s on my machine.
2024-03-28 18:44:21 +01:00
gingerBill
308e9112f2
Disable packing on ARM64 and AMD64
2024-03-28 10:58:40 +00:00
gingerBill
58d0635f48
Merge pull request #3342 from FrancisTheCat/master
...
Json: Improved unmarshalling of `using _: T` fields
2024-03-27 18:57:34 +00:00
FrancisTheCat
2ccb326a41
Merge branch 'odin-lang:master' into master
2024-03-27 17:52:29 +01:00
gingerBill
cf9bdc134c
Fix #3341
2024-03-27 16:48:51 +00:00
FrancisTheCat
29e4e85152
Merge branch 'odin-lang:master' into master
2024-03-27 16:43:02 +01:00
Franz Höltermann
a422aba578
Json: improved unmarshalling of using _: T fields.
...
`using _: T` fields will now have their members unmarshalled to their
parent types reflecting the new behaviour of json.marshall.
Example:
```go
A :: struct {
using _: B,
}
B :: struct {
field: string,
}
data := `{"field": "Hello World"}`
a: A
json.unmarshal_string(data, &a)
```
2024-03-27 15:46:44 +01:00
gingerBill
7b387fd3aa
Improve C-like syntax mistakes error messages
2024-03-27 13:10:46 +00:00
gingerBill
12ec9bce7d
Fix parsing bug on bit_set[;x]
2024-03-27 13:05:15 +00:00
gingerBill
b378eb2df3
Fix free bug not using the correct allocator
2024-03-27 12:54:52 +00:00
gingerBill
6422c090f2
Make hash procedures contextless where possible
2024-03-27 12:54:37 +00:00
gingerBill
3bc7c51325
Merge pull request #3283 from laytan/darwin-new-wait-on-address-api
...
darwin: use new wait on address API if possible
2024-03-27 11:20:32 +00:00
gingerBill
f57cc6beb1
Merge pull request #3331 from laytan/darwin-fix-entrypoint-warning-dylibs
...
darwin: fix linker warning when building dynamic library
2024-03-27 11:19:11 +00:00
gingerBill
2031d2769a
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-03-27 00:58:35 +00:00
gingerBill
83c9739a7d
Update year
2024-03-27 00:58:21 +00:00
gingerBill
d9ba698b7b
Merge pull request #3337 from FrancisTheCat/master
...
Json: Improve marshalling of `using _: T` fields
2024-03-27 00:57:03 +00:00
Laytan Laats
19d566ebc5
darwin: fix linker warning when building dynamic library
...
Trying to fix all linker warnings that macOS comes up with, when
building a dynamic library it currently emits `ld: warning: ignoring -e, not used for output type`
2024-03-26 21:00:14 +01:00
Franz Höltermann
92a5666c1c
Json: fields on structs like 'using _: T' will now have T's fields
...
marshalled directly into the parent type without an '"_":{ ... }'.
This seems like desirable behavior to me, since you can't access the
fields with 'Parent_Type._.field' either.
2024-03-26 20:22:51 +01:00
gingerBill
63d6b4752b
Fix type info layout for wasm64p32 targets
2024-03-26 17:16:12 +00:00
gingerBill
6588fe35b3
Fix wasm abi
2024-03-26 16:47:29 +00:00
gingerBill
fa84272d5e
Merge pull request #3335 from rick-masters/fix_incomplete_struct_type
...
Don't add type info for incomplete structs.
2024-03-26 16:08:12 +00:00
rick-masters
c90a6ab0d5
Remove accidentally added test binary.
2024-03-26 15:08:32 +00:00
gingerBill
0989eac681
Add extra sanity check for nullptr
2024-03-26 14:57:06 +00:00
rick-masters
b8c0a02164
Don't add type info for incomplete structs.
2024-03-26 14:34:56 +00:00
gingerBill
df526549e2
Fix min/max for wasm
2024-03-26 14:31:28 +00:00
gingerBill
1009182f7b
Fix another #soa race condition bug
2024-03-26 14:13:55 +00:00
gingerBill
620dd2c812
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-03-26 13:06:46 +00:00