Commit Graph
402 Commits
Author SHA1 Message Date
gingerBill bdb0364739 Remove the missing procedures fallback from the backend: the checker adds the Objective-C runtime procedures the backend calls, local foreign procedures with a duplicate name are bound to the existing declaration, and local procedures passed to a $ parameter are created up front 2026-10-03 22:26:08 +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
Arthur031221andblob1807 093357f63e Preserve zero-initialized arrays in intrinsics.concatenate
Co-authored-by: blob1807 <12388588+blob1807@users.noreply.github.com>
2026-10-03 11:26:45 +08:00
gingerBill 1d3f982b50 Allow intrinsics.procedure_of on procedures without results or requiring a context; treat a specialized procedure's type as concrete 2026-10-02 17:10:03 +01:00
gingerBill 14950b8ae9 Park nested procedures on their parent until its body is checked instead of re-queuing; per-entry #load caches and parallel #load_directory reads; don't merge dependencies into package-level declarations; separate the thread pool's contended fields onto their own cache lines 2026-10-02 12:55:09 +01:00
gingerBill 98203dbd56 parapoly: remove the in-place polymorphic match; substitution engine is now the only resolver 2026-10-01 09:27:34 +01:00
gingerBill 3b9ef40fae Clean up comments and add more wait signal guards for union variants 2026-09-30 15:53:31 +01:00
gingerBill 3b366c9e29 Begin work on handling the wait signals correctly for union variants throughout 2026-09-30 15:32:49 +01:00
gingerBill 95df4904e8 Change struct Complex128 and struct Quaternion256 to use ExactValue elements to allow for the new Big_Rat benefits that floats get 2026-09-29 16:00:28 +01:00
gingerBill 29b681b43d Handle more cases where ExactValue_Float was being handled but not for ExactValue_Rational 2026-09-29 15:21:00 +01:00
gingerBill 7b19697dcf Integrate ExactValue_Rational throughout the codebase 2026-09-29 14:38:08 +01:00
Senthilnathan 699973abd6 Merge branch 'master' into fix/location-global-initializer 2026-09-16 18:45:52 +05:30
Senthilnathan ed2d5304d1 fix: #location in global variable initializers 2026-09-16 18:42:10 +05:30
LouisTruch 9fc28251f9 intrinsics.type_elem_type() added case for Type_FixedCapacityDynamicArray 2026-09-09 12:12:59 +02:00
mo 278c7dd751 Detect and error on chained offset_of expressions.
Fixes #5851.

This disallows expressions like `offset_of(a.b.c)`.
2026-09-02 13:04:10 +12:00
kalsprite 7e9ffac5b0 const truncation sweep 2026-08-25 23:27:06 -07:00
gingerBill 2508a29376 Correctly check constant value indexing on constants 2026-08-23 11:48:24 +01:00
Jeroen van Rijn 8a042532a5 Silence printf warnings 2026-08-20 12:37:28 +02:00
kalsprite f360a37ccd cmplx & quat take type from args 2026-08-19 17:36:50 -07:00
kalsprite f84735af42 missed site 2026-08-19 15:50:55 -07:00
kalsprite f17c86d936 diagnostics: let compiler check error() fmt strings + fixes 2026-08-19 15:39:39 -07:00
gingerBill 87097641e3 Merge pull request #7372 from kalsprite/abs_constant_range
check_builtin: range-check the constant `abs` folds
2026-08-18 12:05:28 +02:00
kalsprite 8189bb9730 abs const fold 2026-08-17 22:41:22 -07:00
kalsprite 71d8e79806 checker: do not register map runtime dependencies under 2026-08-17 20:22:25 -07:00
kalsprite c34ae95e8a c_va_start: test the operand it just checked; c_va_arg: drop the unfed verb 2026-08-17 18:34:09 -07:00
Jeroen van Rijn 889ad95c7e Merge pull request #7342 from kalsprite/alpha
quat/cmplx nan cmp & accessors
2026-08-16 12:31:55 +02:00
Jeroen van Rijn 7aa805e22a Merge pull request #7343 from kalsprite/rune_unsigned_mapping
intrinsics.type_integer_to_unsigned(rune) returns f16
2026-08-16 12:28:59 +02:00
Jeroen van Rijn 3eeda58634 Merge pull request #7344 from kalsprite/simd_builtin_diagnostics
simd: enforce the `#simd` construction rules and stop two crashes
2026-08-16 12:17:39 +02:00
kalsprite 5f0251fec2 5791,6748 2026-08-15 22:44:52 -07:00
kalsprite 69fb453e51 redecl type; pairwise guard 2026-08-15 22:02:06 -07:00
kalsprite 0243398b19 swizzle arg guard 2026-08-15 21:52:07 -07:00
kalsprite 4ceba928c7 fix swizzle and shuffle max size bypass 2026-08-15 21:28:43 -07:00
kalsprite b2f2b653c5 add pow2 guard on interleave 2026-08-15 21:18:36 -07:00
kalsprite e699d2185e simd diagnostics 2026-08-15 21:07:17 -07:00
kalsprite ae742cb9f3 rune unsigned mapping 2026-08-15 20:53:03 -07:00
kalsprite 4cf4607c8b fix #5964 2026-08-15 20:41:22 -07:00
kalsprite 1658e2d841 fix typo on cmplx -> quat 2026-08-15 20:13:25 -07:00
FourteenBrush 02adbc11e3 Fix oob for zero arg #load_directory 2026-08-13 12:51:42 +02:00
gingerBill ff30f74fcf Merge pull request #7308 from kalsprite/extract_lsbs_limit
simd_extract_lsbs/_msbs: reject a lane count that exceeds the bit_set limit
2026-08-12 13:21:59 +02:00
gingerBill abd6ce0519 Merge pull request #7301 from kalsprite/endian_wording
correct the endianness guard messages
2026-08-12 13:21:05 +02:00
gingerBill dcbd6b6a3d Merge pull request #7297 from kalsprite/constant_guards
intrinsics: fix guards combining two required conditions with &&
2026-08-12 13:20:51 +02:00
gingerBill 9cd3e68afc Merge pull request #7295 from kalsprite/const_truncation
bound constant arguments before range-checking them
2026-08-12 13:20:01 +02:00
gingerBill 98524caece Merge pull request #7294 from kalsprite/byte_swap_untyped
fix byte swap on untyped int-like untyped types
2026-08-12 13:09:29 +02:00
gingerBill 01cd94cb6c Merge pull request #7293 from kalsprite/bitfield_offset_not_found
bit_field: diagnose a missing field name in type_field_bit_offset / type_field_bit_size
2026-08-12 13:09:16 +02:00
kalsprite c61cf7d684 dont clear value on ok 2026-08-11 23:37:41 -07:00
kalsprite 419050f82a fix four more guards using && where they need || 2026-08-11 22:52:33 -07:00
kalsprite a594c9960c reject a lane count that exceeds the bit_set limit 2026-08-11 20:55:12 -07:00
kalsprite 2a50eaa84d improve err msgs 2026-08-11 19:52:31 -07:00
kalsprite e31bf47913 correct error guard 2026-08-11 19:44:08 -07:00