Skip to content

fix(lib): address strict aliasing violations with Array type#5254

Merged
clason merged 2 commits intorelease-0.26from
backport-5242-to-release-0.26
Jan 24, 2026
Merged

fix(lib): address strict aliasing violations with Array type#5254
clason merged 2 commits intorelease-0.26from
backport-5242-to-release-0.26

Conversation

@tree-sitter-ci-bot
Copy link

Description

Backport of #5242 to release-0.26.

WillLillis and others added 2 commits January 24, 2026 19:18
Set tree-sitter-php fixture to `upstream_test_fixture` branch.
Also remove the `--update` flag, as it does nothing.

(cherry picked from commit 55fdc50)
Altering the `Array` type itself isn't feasible, as this causes
unacceptable breakage with existing parsers that depend on it. Instead,
pass in individual `Array` fields for to various `_array__*` functions.

Any time the `contents` of an array may be modified (`free`d, `realloc`d,
etc), return the potentially new address out by value. This prevents any
strict aliasing violations as we're no longer writing to a type-casted
pointer.

Co-authored-by: Nathaniel Wesley Filardo <nwfilardo@gmail.com>
(cherry picked from commit 5177b3d)
@clason clason merged commit ed6e42c into release-0.26 Jan 24, 2026
19 checks passed
@clason clason deleted the backport-5242-to-release-0.26 branch January 24, 2026 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants