Commit Graph

18541 Commits

Author SHA1 Message Date
gingerBill
8632a240fd Merge pull request #7313 from kalsprite/matrix_type_hint
check_matrix_type_hint: require the element type and layout to match
2026-08-12 13:25:25 +02:00
gingerBill
6f5f02f63b Merge pull request #7312 from kalsprite/enum_array_negative_count
check enumerated array length
2026-08-12 13:23:24 +02:00
gingerBill
76f3f4b2a3 Merge pull request #7311 from kalsprite/enum_array_blank_index
hoist if stmt in enumerated_array
2026-08-12 13:23:11 +02:00
gingerBill
9be450331a Merge pull request #7310 from kalsprite/matrix_mul_limit
matrix: enforce the element limit on multiplication and on overflowing dimensions
2026-08-12 13:22:39 +02:00
gingerBill
5c87a34678 Merge pull request #7309 from kalsprite/shared_fields_doc
clarify shared fields behavior in code doc
2026-08-12 13:22:08 +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
c629f923b3 Merge pull request #7307 from kalsprite/endian_partition
types: make the three endianness predicates partition
2026-08-12 13:21:37 +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
eb9c7d471a Merge pull request #7296 from kalsprite/comparable_unspecialized
type_is_comparable: false for an unspecialized polymorphic record
2026-08-12 13:20:28 +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
gingerBill
d4d0436a09 Merge pull request #7314 from kalsprite/max_field_align
struct layout: apply #max_field_align
2026-08-12 11:30:35 +02:00
gingerBill
e92d24e88a Merge pull request #7315 from kalsprite/mm_shuffle_value
check_builtin: don't clear the operand value on the simd success path
2026-08-12 11:30:17 +02:00
kalsprite
c61cf7d684 dont clear value on ok 2026-08-11 23:37:41 -07:00
kalsprite
586f87c0e1 apply max field align 2026-08-11 23:15:29 -07:00
kalsprite
f053a40359 check_matrix_type_hint: require the element type and layout to match 2026-08-11 23:07:07 -07:00
kalsprite
419050f82a fix four more guards using && where they need || 2026-08-11 22:52:33 -07:00
kalsprite
3f7d961bf6 check enumerated array length 2026-08-11 22:39:12 -07:00
kalsprite
0dbd55168f hoist if stmt 2026-08-11 22:25:44 -07:00
kalsprite
973d90d7b1 enforce matrix size limits on mul; overflow dims 2026-08-11 21:31:36 -07:00
kalsprite
6b6bf9a8ee clarify shared fields behavior 2026-08-11 21:07:53 -07:00
kalsprite
a594c9960c reject a lane count that exceeds the bit_set limit 2026-08-11 20:55:12 -07:00
kalsprite
613067a677 make endiant types partition 2026-08-11 20:13:47 -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
fef29f0f42 reject unspec poly 2026-08-11 18:59:37 -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
Jeroen van Rijn
549bedcff9 Merge pull request #7291 from A1029384756/master
[llvm_backend] fix duplicated name for temporary `.ll` files
2026-08-12 01:08:48 +02:00
A1029384756
a08682bcd3 [llvm_backend] fix duplicated name for .ll files 2026-08-11 16:30:35 -04:00
gingerBill
94d188c75f Merge pull request #7269 from kalsprite/simd_fixes
remove dead simd_rem
2026-08-11 21:44:53 +02:00
gingerBill
73424d60e0 Merge pull request #7289 from Znarf64/enum-value-init-doc
Use enum value init expression instead of numeric value in doc format
2026-08-11 21:44:32 +02:00
Franz Hoeltermann
a311d8f6df Use enum value init expression instead of numeric value in doc format 2026-08-11 13:51:06 +02:00
Jeroen van Rijn
5f321d687c Merge pull request #7284 from kalsprite/i386_sret
i386: return aggregates through the hidden pointer on System V targets
2026-08-11 12:30:19 +02:00
Jeroen van Rijn
06cad2ece4 Merge pull request #7283 from kalsprite/i386_byval
i386: pass aggregate arguments by value on the stack
2026-08-11 12:02:54 +02:00
Jeroen van Rijn
03b564a602 Merge pull request #7282 from kalsprite/riscv_padded_assert
riscv64: fix ABI classification for padded, over-aligned, and pointer-bearing structs
2026-08-11 11:57:09 +02:00
kalsprite
37e1c98b1f i386: return aggregates through the hidden pointer on System V targets 2026-08-10 22:08:15 -07:00
kalsprite
b3c254d629 i386: pass aggregate arguments by value on the stack 2026-08-10 21:48:10 -07:00
kalsprite
aec971197a riscv64: a pointer is not an integer in the FP calling convention 2026-08-10 21:34:08 -07:00
kalsprite
a50660b5bb apply the FP rules to over-aligned structs 2026-08-10 21:11:43 -07:00
kalsprite
2f39bd797d riscv abi bug 2026-08-10 20:57:47 -07:00
Jeroen van Rijn
9932b4d2d4 Merge pull request #7277 from corleypc/range-soa-array-elem-fix
Fixes range loop over array elements in soa containers
2026-08-11 03:57:56 +02:00
corley
87912a8b88 fixes range loop over array elements in soa containers 2026-08-11 03:20:13 +03:00
Jeroen van Rijn
6d5dbdce13 Merge pull request #7274 from karl-zylinski/claude/grapheme-clusters-text-field-e36817
Add `text` field to `utf8.Grapheme`, fix caret translation by grapheme
2026-08-10 13:30:53 +02:00
Jeroen van Rijn
1810318551 Merge pull request #7273 from alexthed1rk/fix-simd-arm-neon-table-lookup
Impl fix simd arm neon table lookup on be
2026-08-10 13:28:24 +02:00
Alexander Zhura
59b09aa559 Impl fix simd arm neon table lookup on be 2026-08-10 14:07:05 +03:00
Karl Zylinski
1f9b4c4555 Add text field to utf8.Grapheme, fix caret translation by grapheme
`decode_grapheme_iterate` already computed the text of each grapheme
cluster, but `decode_grapheme_clusters` discarded it, forcing callers to
reconstruct each cluster's range by looking ahead to the next grapheme's
`byte_index`. Store it on `Grapheme` instead; it is a slice of the input
string, so no allocation is involved.

`core:text/edit` was using `Grapheme.width` -- the number of monospace
cells -- as a byte count when moving the caret by grapheme, so it landed
in the middle of a cluster for anything wider than one byte per cell. Use
`len(Grapheme.text)`, and add a test package for the translations.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 12:27:31 +02:00