gingerBill
352d526b94
Merge pull request #3389 from laytan/fix-wasm-atomics
...
fix wasm atomics
2024-04-06 22:51:58 +01:00
Laytan Laats
b150f49c46
fix wasm atomics
...
Fixes #2745
2024-04-06 23:32:38 +02:00
oskarnp
ca46484ae3
Fix checker crash when or_return/or_break/or_continue used for non-existing proc
2024-04-06 11:02:43 +02:00
Laytan Laats
133b45d843
fix amd64 sysv abi to pass asan everywhere
...
I verified the PR by running the entire test suite of Odin itself with
`-sanitize:address` and also the ols test suite (which caused unique problems
before).
A test has also been added with some problematic code, Windows seems to
have problems with asan in CI or in general so it is not ran there.
The LB_ABI_COMPUTE_RETURN_TYPES block has been removed entirely because
it was unused, I got pretty confused why it didn't effect anything at
first.
Fixes #3211
2024-04-04 23:45:23 +02:00
gingerBill
fbff2b4fd6
Merge pull request #3372 from laytan/fix-lbarg-ignore-logic
...
fix lbArg_Ignore logic
2024-04-04 18:09:12 +01:00
gingerBill
7f0ca315b3
Merge pull request #3374 from laytan/fix-128-ints-alignment-arm64
...
fix 128 bit int alignment on arm64
2024-04-04 18:06:01 +01:00
Laytan Laats
31407d9b1b
fix 128 bit int alignment on arm64
...
Fixes #2403
2024-04-04 18:39:41 +02:00
gingerBill
83e2f5ff74
Add better error messages with suggestions for using context as an identifier
2024-04-04 17:01:31 +01:00
gingerBill
2375ac22a7
Improve error messages for A variable declaration must be an identifier
2024-04-04 16:57:08 +01:00
gingerBill
b979fd4c43
Remove consecutive linking libraries
2024-04-04 16:14:05 +01:00
gingerBill
0e5a482c42
Default to "smart" linker behaviour; Add -min-link-libs to use minimize link libs if wanted
2024-04-04 16:11:26 +01:00
Laytan Laats
a7056f2b4f
fix lbArg_Ignore logic
...
Fixes #2698
2024-04-04 16:58:22 +02:00
gingerBill
99aff7e3fb
Merge pull request #3370 from laytan/fix-objc-proc-group-edge-case
...
fix objc proc group edge case
2024-04-04 13:03:27 +01:00
Laytan Laats
5339e1e1b6
fix objc proc group edge case
...
Fixes #2648
2024-04-03 21:21:46 +02:00
gingerBill
e42b16b106
Merge pull request #3366 from laytan/fix-vet-scope-bug
...
fix vet scope bug skipping some scopes
2024-04-03 11:40:01 +01:00
Laytan Laats
b754c1e072
fix -vet warning for stack overflows not showing up
...
Due to the placement of this code, the warning would only ever be added
if the variable was also either unused or shadowed.
2024-04-03 01:05:54 +02:00
gingerBill
a9bfb3ac2e
Clarity warning and error printing
2024-04-02 23:39:14 +01:00
gingerBill
692a47f080
Fix printing of warnings
2024-04-02 23:36:36 +01:00
Laytan Laats
21fcf7c874
fix vet scope bug skipping some scopes
...
Fixes #3146
2024-04-02 23:59:38 +02:00
gingerBill
05d07983c3
Merge pull request #3363 from laytan/fix-c-varargs-named-args
...
fix named arguments and untyped nil with #c_vararg
2024-04-02 18:36:10 +01:00
Laytan Laats
fc30bde0f6
fix untyped nil into c varargs
...
Fixes #2842
2024-04-02 18:49:35 +02:00
Laytan Laats
a8d8696e2f
fix named arguments with #c_vararg
...
Previously `args=1`, `args={}`, `args={1, 2, 3}` would all crash the
compiler. Now it passes them correctly, and if given a compound literal,
the values are expanded into the call so you can use a named arg while
passing multiple values.
Fixes #3168
2024-04-02 17:25:11 +02:00
Jeroen van Rijn
f9f6fbfe1f
Merge pull request #3360 from laytan/debug-info-fixes
...
fix wrong type in map debug info
2024-04-01 19:12:24 +02: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
gingerBill
406aa587e2
Merge pull request #3358 from laytan/debug-info-fixes
...
debug info fixes/refactor
2024-04-01 16:53:56 +01: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
bb72ff9c35
Fix nested ERROR_BLOCK bug
2024-04-01 14:28:11 +01:00
gingerBill
b47d73c651
Fix type checking for invalid enum backing type
2024-04-01 13:34:30 +01:00
gingerBill
84686c70c5
Error message when RTTI is disabled when iterating over an enum type or a bit_set of enum with for in
2024-04-01 13:16:49 +01:00
gingerBill
3fa02427b3
Unify error message logic for ranges over bit_set
2024-04-01 13:12:09 +01:00
gingerBill
b862691d75
Support for in with bit_set
2024-04-01 13:08:07 +01:00
gingerBill
f482cc8374
Fix error message
2024-04-01 12:33:56 +01: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
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
Laytan Laats
9a5a39c07d
fix not setting ok in cached code path
2024-03-28 19:16:55 +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