Commit Graph

6484 Commits

Author SHA1 Message Date
gingerBill
51bc27be01 Fix big_int_shr for arithmetic shift (i.e. negative numbers) 2026-07-12 00:04:35 +01:00
gingerBill
40698f774f Improve error message for disallowing --- as a default parameter 2026-07-09 11:52:03 +01:00
Jeroen van Rijn
0c7fc0b416 Fix #6982 2026-07-09 00:32:41 +02:00
gingerBill
46a2960d13 Merge pull request #6968 from ssenthilnathan3/fix/ternary-comment-parsing
Fix parser failing on comments inside ternary expressions
2026-07-08 10:56:05 +01:00
misomosi
723b8f563d Ensure identical types have same hash 2026-07-07 12:44:16 -04:00
Senthilnathan
a880c1abfa Fix parser failing on comments inside if/when ternary 2026-07-07 14:30:59 +05:30
Senthilnathan
d7fc7c653c Fix parser failing on comments inside ternary expressions 2026-07-07 14:18:42 +05:30
gingerBill
c0792bc1dd Merge pull request #6948 from tf2spi/6866-poly-const-float-convert
Convert poly const int to f64 when needed
2026-07-04 16:12:33 +01:00
gingerBill
9050e6b8cd Merge pull request #6950 from tf2spi/6840-check-any-int-addressing
Disallow types in #any_int params
2026-07-04 16:12:16 +01:00
gingerBill
ea72e772fe Merge pull request #6949 from tf2spi/6864-canonicalize-f64-to-string
Use specific format to make f64 strings canonical
2026-07-04 16:11:57 +01:00
misomosi
c2dfa289f9 Use specific format to make f64 strings canonical 2026-07-04 10:47:06 -04:00
Jeroen van Rijn
94be05ead1 Merge pull request #6918 from Kelimion/deprecate-llvm-14
Remove LLVM 14 support
2026-07-03 21:35:47 +02:00
Jeroen van Rijn
dc0f001b35 Merge pull request #6933 from odin-lang/bill/box3d
`vendor:box3d`
2026-07-03 21:35:30 +02:00
gingerBill
d595bf1917 Merge pull request #6924 from tf2spi/6815-patch-simd-min-max
Fix misuse of lb_emit_(min|max) in simd_(min|max)
2026-07-03 16:34:08 +01:00
misomosi
1ab2253ff8 Convert poly const int to f64 when needed 2026-07-03 11:05:31 -04:00
misomosi
5b24b47e9c Disallow types in #any_int params 2026-07-03 10:04:41 -04:00
gingerBill
385230d8d4 Merge pull request #6935 from tf2spi/add-proc-name-canonicalization-cases
Add diverging, optional_ok to proc canon name
2026-07-03 13:07:43 +01:00
gingerBill
55a1876d5b Merge pull request #6934 from tf2spi/6675-patch-load-or-else-diverging
Make diverging or_else inherit load lhs type
2026-07-03 13:07:19 +01:00
gingerBill
328f511576 Merge pull request #6939 from tf2spi/6832-no-code-regen
Avoid code regeneration for fns in unroll
2026-07-03 13:06:56 +01:00
misomosi
ee1cad0fcc Avoid code regeneration for fns in unroll 2026-07-03 00:46:17 -04:00
misomosi
90a1a9b54d Add diverging, optional_ok to proc canon name 2026-07-02 13:36:14 -04:00
misomosi
aa53466cb6 Make diverging or_else inherit lhs type 2026-07-02 13:22:03 -04:00
misomosi
b5e3b08a8c Remove use of llvm.(max|min)num in SIMD builtins 2026-07-02 09:56:38 -04:00
gingerBill
1007ea2785 Merge pull request #6921 from tf2spi/6757-array-programming-cast
Allow casts to change mode for array programming
2026-07-02 14:06:50 +01:00
gingerBill
dadcfafb7d Merge pull request #6925 from tf2spi/6923-check-untyped-to-union-conversion
Make checking of untyped to union conversions more strict
2026-07-02 14:01:41 +01:00
gingerBill
c9f069be20 Merge pull request #6929 from korvahkh/fix-union-typo
Fix typo in union error: excepts -> accepts
2026-07-02 14:01:07 +01:00
Jeroen van Rijn
03652d7423 Improve custom output location for LLVM-IR, OBJ + ASM
Fixes #6926.

If `build` is a subdirectory in the current directory, then `odin build . -out:build` will place `.S`, `.obj` and `.ll` files there if the corresponding `-build-mode` is given.
2026-07-02 14:19:56 +02:00
gingerBill
448a71f432 Support q.xyz on quaternion* 2026-07-02 12:27:03 +01:00
Jeroen van Rijn
eee06be76f Merge pull request #6930 from JoltedJon/utf8-decode-fix
Fix UTF-8 decode error check
2026-07-02 12:03:26 +02:00
Jeroen van Rijn
d5c4cd6e8f Merge pull request #6900 from MauriceElliott/maurice/playdate_support
Playdate Support
2026-07-02 12:00:58 +02:00
JoltedJon
9cc180f0ec Fix UTF-8 decode error check 2026-07-01 22:54:48 -04:00
korvahkh
fdb1a2c01b Fix typo in union error: excepts -> accepts
Before:
```
foo.odin(4:24) Error: Cannot convert untyped value '""' to 'union {int, bool}' from 'untyped string'
	u: union{int, bool} = ""
	                      ^^
'union {int, bool}' is a union which only excepts the following types:
	'int' or 'bool'
```
After:
```
foo.odin(4:24) Error: Cannot convert untyped value '""' to 'union {int, bool}' from 'untyped string'
	u: union{int, bool} = ""
	                      ^^
'union {int, bool}' is a union which only accepts the following types:
	'int' or 'bool'
```
2026-07-01 21:07:31 -05:00
Mike
7ccbd3d4ec Fix compiler segmentation fault when field names start with '.' 2026-07-01 21:55:11 -03:00
MauriceElliott
adc50a1184 fixup! fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag. 2026-07-01 21:21:02 +01:00
MauriceElliott
56cee0c2cf fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag. 2026-07-01 21:18:28 +01:00
misomosi
ae1280d6f9 Convert untyped to variant type unconditionally 2026-07-01 12:54:06 -04:00
misomosi
f276d77c0c Fix misuse of lb_emit_(min|max) in simd_(min|max) 2026-07-01 10:59:03 -04:00
misomosi
a2a0b83162 Allow casts to change mode for array programming 2026-07-01 07:59:08 -04:00
gingerBill
882736d330 Merge pull request #6920 from tf2spi/6674-patch-cmp-anonymous-procs
Add ways to diff anon procs with same signature
2026-07-01 11:02:21 +01:00
misomosi
eb47032840 Add ways to diff anon procs with same signature 2026-07-01 01:49:35 -04:00
gingerBill
45eed87309 Allow #no_alias on any pointer-like type 2026-07-01 01:21:49 +01:00
Jeroen van Rijn
2d2979a5f2 Remove old pass manager 2026-06-30 22:44:28 +02:00
Jeroen van Rijn
9cd2481b88 Last piece of LLVM 14 support 2026-06-30 21:20:17 +02:00
Jeroen van Rijn
6154d5c577 Further LLVM 14 support removal. 2026-06-30 21:16:48 +02:00
Jeroen van Rijn
40b28a2ded LLVM 14 removal cleanup 2026-06-30 21:12:42 +02:00
MauriceElliott
a3fa3476c6 feat(arm32 cdecl): Added thumb as the triple for cortex-m7. Updated the calling convention for cortex-m7 arm32 micro processors as the soft float register was being used when calling across the C ABI boundary causing guff data to be passed. 2026-06-30 20:07:36 +01:00
misomosi
c7cd4b9e95 Only allow direct CVarArg usage in c_va_start 2026-06-30 14:18:54 -04:00
Maurice Elliott
ab11e45a4a Merge branch 'odin-lang:master' into master 2026-06-30 19:17:24 +01:00
gingerBill
e276ce552b Merge pull request #6908 from tf2spi/6884-emit-tuple-c-varargs
Use lb_add_values_to_array for cvarargs
2026-06-30 12:33:27 +01:00
gingerBill
62511914de When inserting a constant union into a struct literal, rebuild the struct to be non-named with llvm_const_insert_value_with_rebuild 2026-06-30 12:16:21 +01:00