Commit Graph
241 Commits
Author SHA1 Message Date
bplu4t2f 0f3f4bf73c run_tests.sh now understands "slim" and "no-clang" arguments. 2026-10-10 13:45:52 +02:00
bplu4t2f 0bcda50b6c Fix .gitignore files in tests/ directory - this was bugged because it got overridden 2026-10-10 11:49:19 +02:00
bplu4t2f 9fb859cf43 Make tests scripts behave nicer is clang is not found 2026-10-10 10:18:35 +02:00
bplu4t2f 9ccdc42354 Typos 2026-10-09 22:08:06 +02:00
bplu4t2f 4e180ea094 Repair for MacOS bash? hopefully 2026-10-09 21:45:15 +02:00
bplu4t2f 386db3496d Fixed tests/issues avx512 test relative import dir 2026-10-09 21:34:30 +02:00
bplu4t2f 8e2183e7a5 Test 7010 is not Windows compatible. 2026-10-09 21:34:00 +02:00
bplu4t2f ccdb808946 Test for 7562 is Windows-only. 2026-10-09 21:25:34 +02:00
bplu4t2f 994dbc97b7 Merge new tests/issues tests into run.sh. 2026-10-09 21:13:54 +02:00
bplu4t2f 2218bed150 WIP: Merge new tests/issues tests into run.bat 2026-10-09 21:07:23 +02:00
bplu4t2f b17c76e5a4 !!WIP!! Merge branch 'master' into speedup-ci - missing tests/issues/run.bat and run.sh changes 2026-10-09 20:56:04 +02:00
bplu4t2f 199385b624 Scrutinize tests/issues: Fix differences and missing tests. 2026-10-09 20:45:05 +02:00
bplu4t2f e80b74f306 Cleanup tests/issues/run.sh, run.bat. 2026-10-09 20:32:15 +02:00
bplu4t2f cf40687a7d Cleanup tests/issues/run.bat. 2026-10-09 20:20:03 +02:00
bplu4t2f 9233393351 Adjust run.sh and cleanup. 2026-10-09 19:17:39 +02:00
bplu4t2f 33bea8591d Adjust run.bat to match run.sh 2026-10-09 18:50:19 +02:00
bplu4t2f b7f19d422b Consolidate and clean up tests/issues tests and make them work (WIP) 2026-10-09 18:29:25 +02:00
bplu4t2f edaaa27f86 Move all tests/issues tests into directories. 2026-10-09 16:45:31 +02:00
gingerBill 93f71c2751 Merge pull request #7842 from bbodi/fix/llvm-objc-varargs
Fix/llvm objc varargs
2026-10-09 10:54:21 +01:00
gingerBill 08417fe170 Merge pull request #7845 from MatzeOGH/fix-linker
Merge @(static) and @(thread_local) locals across modules
2026-10-09 10:41:28 +01:00
Matthias Huerbe 0b0f5f17f2 added a unit test for statics across modules 2026-10-09 11:24:46 +02:00
Jeroen van Rijn 93a1bed5c2 Merge pull request #7841 from bbodi/fix/avx512-vector-abi
Enable evex512 with explicit AVX-512 target features
2026-10-09 02:17:26 -07:00
gingerBill 84e733b6d6 Merge branch 'master' into bill/more-atomic-analysis 2026-10-08 23:55:24 +01:00
gingerBill e52168b090 Add regression tests for the atomic analysis 2026-10-08 23:54:24 +01:00
corley bf9d096191 fixes the compiler incorrectly treating the alignment of a loaded pointer as the alignment of the pointed data 2026-10-09 00:14:06 +03:00
BBandClaude Opus 5.5 1509312208 Reject a signed fixed-point scale of the bit width
The checker allowed a scale equal to the bit width for signed
types, such as 32 for i32. LLVM requires a smaller scale for a
signed type, because the sign bit cannot hold a fraction bit. The
build then failed in LLVM with "scale must be less than the width"
instead of an Odin error at the call.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-08 22:19:03 +02:00
bbodi bd530ccc0a Enable evex512 with explicit AVX-512 target features
LLVM only adds evex512 by itself for the generic x86 CPUs, so with the
default x86-64-v2 microarch, -target-features:avx512f left 512-bit
vectors split into ymm pairs and C got garbage lanes back from Odin
(and the other way round). Clang adds it whenever an AVX-512 feature is
on and evex512 isn't named, do the same for the global features and for
@(enable_target_feature).
2026-10-08 21:19:25 +02:00
Jeroen van Rijn 1ee37f38a1 Merge branch 'master' into fix-7763 2026-10-08 10:06:44 -07:00
bbodi 3feb658b8f Pass -microarch:native to the split_globals tests
Every other test in tests/issues/run.sh passes -microarch:native
through $COMMON. These two lines spell their flags out, as the test is
a directory and $COMMON has -file, and left it off. On a CI virtual
machine whose CPU is older than the default x86-64-v2, `odin test`
refuses to run without it, which fails the NetBSD job at random.
2026-10-08 16:09:21 +02:00
bbodi 8dbbbd2d64 Fix -debug when every initial file is excluded
The debug compile unit was made from the first file of the initial
package. When build tags exclude all of its files, as for the
Windows-only tests/issues/test_issue_7547.odin on other targets, there
is none, and `odin test -debug` crashed on an out-of-bounds index.
Without `-debug` such a test builds and reports that there are no
tests to run, which `tests/issues/run.sh` relies on.

Fall back to the package's path for the compile unit's file.
2026-10-08 15:51:24 +02:00
bbodi d65a9ba9bc Keep disabled procedures whose value is taken
A procedure with `@(disabled=true)` adds no dependency where it is
used, so that the calls to it, which are removed, do not pull it in.
Taking its value, e.g. `rawptr(assert)` with `-disable-assert`, then
referenced a procedure that was never generated, and LLVM asserted
"missing procedure 'assert'".

Add the dependency for every use that is not the callee of a call.
2026-10-08 15:51:24 +02:00
bbodi 9f62e02634 Reject casts of unspecialized polymorphic procs
Casting a polymorphic procedure to `rawptr`, or to a procedure type
it cannot be specialized to, was accepted. There is no procedure to
take the address of, so the value came out nil, or the build hung, as
with `x := rawptr(avl.init_cmp)`. Assigning one to `rawptr` already
errors; make `cast` and `transmute` match. Casting to a procedure type
that specializes it still works, as assignment does.
2026-10-08 15:51:24 +02:00
bplu4t2f fa3e2aad2b base64 decoder: Cleanup and consolidate tests. 2026-10-08 15:16:43 +02:00
gingerBill 403738e5cd Merge pull request #7802 from odin-lang/bill/compiler-improvements-2026-10
Flow-based Escape Analysis of Stack Memory + Show where parapoly procedures and records were instantiated in errors within them
2026-10-07 21:19:06 +01:00
gingerBill b9aa030773 Merge pull request #7812 from bplu4t2f/fix-test-7547-spurious-error
Fix spurious error in `test_issue_7547`
2026-10-07 19:04:34 +01:00
bplu4t2f 0fd160b942 Fix spurious error in test_issue_7547 2026-10-07 19:47:15 +02:00
bplu4t2f ea224d0f7e Fix #7763: Fix base64 decoder edge case 2026-10-07 19:30:48 +02:00
gingerBill 6413e89d63 Merge pull request #7809 from odin-lang/bill/general-feature-improvements
General Feature Improvements
2026-10-07 17:39:07 +01:00
gingerBill 30f80e1079 Align matrices to their largest power-of-two column/row stride, capped at 16; pad fixed capacity dynamic arrays of over-aligned elements to their full size 2026-10-07 15:40:59 +01:00
SOBEX 439485507f Fix #7798 by sorting link_names with Procedures before ForeignProcedures 2026-10-07 15:03:20 +02:00
gingerBill 238699e793 Fix test_issue_5699.odin 2026-10-07 13:37:18 +01:00
Jeroen van Rijn 1352d0235b Update test_issue_7779.odin
Catch leak in regression test
2026-10-07 11:15:11 +02:00
bplu4t2f 758cdd19ae Fix #7779 - Make encoding/hex behave well on errors. 2026-10-07 10:47:57 +02:00
Jeroen van Rijn 3500b228f9 Merge pull request #7740 from bplu4t2f/test-7689
Fix #7689 - Incorrect debug source location at the end of if/else chains
2026-10-05 02:26:51 -07:00
bplu4t2f 854cd0e8d8 Fix #7689 - set debug source location of if/else "done" jump to end of the respective block 2026-10-04 14:54:00 +02:00
bplu4t2f e5b8ea0d2a Add test for issue #7689 2026-10-04 14:09:47 +02:00
gingerBill 5a4b877beb Only match the missing procedure assertion in the equal procedure dependencies issue test 2026-10-03 22:33:08 +01:00
gingerBill 733c3fdea7 Add to the tests the equal procedure dependencies test 2026-10-03 22:31:40 +01:00
gingerBill 0a57d94f08 Merge pull request #7720 from odin-lang/bill/llvm-backend-improvements
LLVM Backend Performance Improvements to Reduce Compile Times Part 1
2026-10-03 15:03:39 +01:00
gingerBill 5031e2733e Add the comparison procedures of types in the type table and map keys as dependencies making the backend no longer has to create missing procedures 2026-10-03 12:38:00 +01:00