Commit Graph

387 Commits

Author SHA1 Message Date
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
kalsprite
882be52d66 bound constant arguments before range-checking them 2026-08-11 18:08:32 -07:00
kalsprite
0ed628b22f fix byte swap on untyped intlike types 2026-08-11 17:46:31 -07:00
kalsprite
d785843eed bitfield missing field offsets 2026-08-11 17:34:36 -07:00
Michael Tesař
f8a7071069 Check identical specialization 2026-08-09 00:06:30 +02:00
gingerBill
14007d51d3 Merge pull request #7119 from haferflocken/caller-expression-for-procedures
Allow #caller-expression on constant parameters which are procedures
2026-08-04 10:53:52 +02:00
gingerBill
9914a57fc7 Add intrinsics.soa_copy_from_slice and use it within _append_soa_elems replacing the old handwritten unrolled approach 2026-08-03 14:41:04 +01:00
John Werner
cf2d4000bd Allow #caller-expression on constant parameters which are procedures 2026-07-23 21:32:22 -07:00
misomosi
c7cd4b9e95 Only allow direct CVarArg usage in c_va_start 2026-06-30 14:18:54 -04:00
gingerBill
7da5608121 Add _append_elem_ptr to optimize for append when the element is internally pointer-like 2026-06-28 13:31:49 +01:00
gingerBill
7aff98a150 Fix procedure_of(x) 2026-06-26 15:07:54 +01:00
gingerBill
40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
gingerBill
fb8a9d0839 Support ** as expand_values operator: **x == expand_values(x) 2026-05-25 10:28:15 +01:00
gingerBill
a91725f305 Add simd.interleave + simd.deinterleave 2026-05-19 21:32:09 +01:00
gingerBill
f231ef0596 Support simd.byte_swap 2026-05-19 15:44:31 +01:00
gingerBill
2094cd4768 Add suggestion for ternary if with simd 2026-05-19 15:27:34 +01:00