David Rubin
5951c25f71
fix inverted error messages
2025-01-18 02:04:35 -08:00
gingerBill
b9bf5b1496
Merge pull request #4703 from flysand7/4685-range-stack-overflow
...
Do not warn about stack overflow in range loops 'by reference'
2025-01-17 13:23:15 +00:00
flysand7
3f20b63243
Error if -no-thread-local is used in presence of -no-crt on Unix
2025-01-17 02:51:22 +03:00
flysand7
4f0206ce08
Added compile-time checks for thread locals with -no-crt
...
Now using any thread-local variables with -no-crt enabled
will cause a compiler error, unless -no-thread-local is
given.
Also fixed a minor typo in a comment.
2025-01-17 01:12:23 +03:00
flysand7
87b590c99b
Do not warn about stack overflow in range loops 'by reference'
2025-01-16 22:11:30 +03:00
Laytan Laats
aa3f0b86c1
compiler: fix align error check
2025-01-15 20:18:50 +01:00
Harold Brenes
794e812932
Fixes crash when unused defines are used in conjunction with -ignore-warnings.
2025-01-15 02:04:49 -05:00
gingerBill
328d893cb5
#unroll(N) for
2025-01-10 12:22:18 +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
3d8bde9549
Merge pull request #4601 from Barinzaya/simd_vector_broadcasting
...
Implicit broadcasting for SIMD arrays
2025-01-06 11:15:28 +00:00
gingerBill
7da7d4e410
Allow #+ tags on single files
2025-01-05 15:41:51 +00:00
gingerBill
bca08d3b85
Make -no-dynamic-literals the default now
2025-01-05 13:33:06 +00:00
gingerBill
2efe4c2d68
Add #+feature dynamic-literals
2025-01-05 13:19:10 +00: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
4882eefaf8
Merge pull request #4616 from flga/master
...
make -export-dependencies emit valid json
2025-01-01 17:46:25 +00:00
gingerBill
bfbcc02aff
Merge pull request #4608 from zen3ger/assignment-of-non-specialized-parapoly
...
Fix crash on assignment of parapoly proc to variable
2025-01-01 17:40:40 +00:00
gingerBill
8d400f43fd
Merge pull request #4607 from zen3ger/parapoly-proc-fixes
...
Fix crash when proc return type is undeclared parapoly variable
2025-01-01 17:40:04 +00:00
gingerBill
7b334d2bd9
Add #branch_location
2025-01-01 17:26:15 +00:00
gingerBill
c8ad2a4245
Support multiple paths for wasm in foreign import
2025-01-01 15:12:54 +00:00
fleandro
6ff81b6e4c
make -export-dependencies:json emit valid json
2024-12-23 01:03:51 +00:00
misomosi
fdf510b7b3
Pack struct when needed, use field_align metadata
2024-12-22 10:05:13 -05:00
Roland Kovacs
9f77f7c417
Fix crash on assignment of parapoly proc to variable
2024-12-22 12:38:37 +01:00
Roland Kovacs
f2f952b344
Fix crash when proc return type is undeclared parapoly variable
...
Disallow the declaration of new parapoly variables in return types, when
the procedure's parapoly scope is itself. This happens if e.g.:
`foo :: proc() -> $T`.
Closes #3949 , #4294 , #4563
2024-12-22 02:31:25 +01:00
Barinzaya
14216ebf51
Added some implicit broadcasting for #simd arrays.
...
This covers broadcasting from untyped numbers when assigning, as well as
when performing binary operations. SIMD intrinsics have not been
adjusted
2024-12-19 20:07:04 -05:00
gingerBill
0a29d36aa3
Fix bug with comparisons with big endian types
2024-12-12 15:44:49 +00:00
Laytan Laats
c8f0d27cee
compiler: remove viral #force(_no)_inline
...
If a procedure was marked `#force_no_inline`, any procedure calls within
it would also implicitly be. This is not expected for multiple reasons:
1. `#force(_no)_inline` on a call expr works differently than on a procedure literal.
2. Adding the attribute on it and every called proc blows up the amount
of work for the inliner pass and may increase the time it takes.
3. Putting `#force_no_inline` on a procedure to keep executable size
down (like we do for some map procedures), benchmark it, or find it in
asm/ir has the added effect of slowing those procedures down significantly
and not representing truth.
2024-12-09 19:12:42 +01:00
Laytan Laats
676fe34863
fix #4547 - wasm -out without file extension
2024-12-06 19:38:53 +01:00
gingerBill
e3b1646490
Fix #4552
2024-12-05 15:46:35 +00:00
gingerBill
dd8e6e884c
Try to fix #4553
2024-12-05 15:45:01 +00:00
gingerBill
f5b16aa42a
Fix #4561
2024-12-05 15:27:41 +00:00
gingerBill
b36a81ef53
ABI change: for indirect parameters size_of <= 16, do callee stack copy
2024-12-05 10:49:39 +00:00
gingerBill
b942479886
Minor improvement to type handing on failures
2024-12-02 15:57:20 +00:00
gingerBill
65de0256ce
Fix #4535
2024-12-02 15:57:08 +00:00
gingerBill
e2ba8ff6e6
Fix #4530
2024-12-02 11:23:55 +00:00
Jeroen van Rijn
6d83755e92
Fix assert when return value expected.
2024-11-28 20:44:57 +01: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
Laytan Laats
fa39d87f88
properly keep track of current scope for debugging
...
Fixes #4519
2024-11-27 20:55:48 +01:00
Jeroen van Rijn
c7dec10100
Check type_expr in check_procedure_param_polymorphic_type
...
Fixes #4523 assert.
2024-11-27 15:26:33 +01:00
Laytan Laats
ad80aa6d28
sys/info & odin report: rework macos version retrieval
2024-11-26 22:28:21 +01:00
Laytan Laats
767daf4a9c
add macos 15.1.1 to odin report and sys/info
2024-11-26 18:46:27 +01:00
gingerBill
9115c7aa13
Convert mutex guard to "try lock"
2024-11-26 16:14:13 +00:00
Jeroen van Rijn
7c3ce334d6
Fix #4508 for abs, min, max ( #4516 )
...
* Fix #4508 for abs, min, max and the rest of the builtins.
None of these segfault now:
```odin
package bug
main :: proc() {
p :: proc() {}
// _ = len(p())
// _ = cap(p())
// _ = size_of(p())
// _ = align_of(p())
// T :: struct {}
// _ = offset_of(p())
// _ = offset_of(T, p())
// _ = offset_of(p(), foo)
// _ = offset_of(p(), "")
// _ = type_of(p())
// _ = type_info_of(p())
// _ = typeid_of(p())
// A: [4]int
// _ = swizzle(p()) // :: proc(x: [N]T, indices: ..int) -> [len(indices)]T ---
// _ = swizzle(A, p()) // :: proc(x: [N]T, indices: ..int) -> [len(indices)]T ---
// _ = complex(p(), p())
// _ = quaternion(p(), p(), p(), p())
// _ = quaternion(w=p(), x=p(), y=p(), z=p())
// _ = real(p())
// _ = imag(p())
// _ = jmag(p())
// _ = kmag(p())
// _ = conj(p())
// _ = expand_values(p())
// _ = min(p())
// _ = max(p())
// _ = abs(p())
// _ = clamp(p(), p(), p())
// _ = soa_zip(p())
// _ = soa_unzip(p())
}
```
2024-11-25 15:27:35 +01:00
gingerBill
f213b8e5cf
Allow for odin help build etc
2024-11-25 14:04:17 +00:00
Laytan Laats
83bf0c6ab8
checker: only error with -vet-cast when it is actually castable
2024-11-21 19:18:17 +01:00
gingerBill
3229f4668d
Improve odin help -foo usage
2024-11-18 23:35:10 +00:00
jakubtomsu
71880eb1ff
report error when builtin min/max has 1 (non-type) param
2024-11-17 21:02:30 +01:00
Laytan Laats
8f2766c4dc
add missing macos version
2024-11-16 15:42:13 +01:00