gingerBill
97e2d8916a
Merge branch 'master' of https://github.com/odin-lang/Odin
2024-04-10 12:32:32 +01:00
gingerBill
3dfd61dd4f
Make intrinsics.overflow_* NOT #optional_ok
2024-04-10 12:32:26 +01:00
Chris
219eb58c08
Fix typo in using parameter error message
2024-04-09 12:03:41 +01:00
Laytan Laats
9c958ee66d
fix nasm check
2024-04-08 20:43:52 +02:00
gingerBill
ecac3aef32
Change allocator to permanent
2024-04-08 16:18:14 +01:00
gingerBill
ec45504631
Obfuscate #line
2024-04-08 16:14:47 +01:00
gingerBill
810cf22e5d
Obfuscate #file and #procedure when -obfuscate-source-code-locations is enabled
2024-04-08 16:08:35 +01:00
gingerBill
16dc79fc5c
Add "type" field to -json-errors
2024-04-08 13:36:23 +01:00
gingerBill
2aca370a0a
Merge pull request #3394 from laytan/wasm-fixes
...
Wasm fixes
2024-04-08 13:33:29 +01:00
Laytan Laats
ce196529dc
enable the required target feature atomics when using them in wasm
2024-04-08 13:56:04 +02:00
gingerBill
114ddc4a10
Fix printing error when field name could not be found
2024-04-08 12:06:06 +01:00
gingerBill
0df9c8bffc
Improve error messages for people using keywords instead of identifiers
2024-04-08 12:04:33 +01:00
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