Skip to content

merge stable#22772

Merged
ibuclaw merged 30 commits intodlang:masterfrom
ibuclaw:merge_stable
Mar 20, 2026
Merged

merge stable#22772
ibuclaw merged 30 commits intodlang:masterfrom
ibuclaw:merge_stable

Conversation

@ibuclaw
Copy link
Copy Markdown
Member

@ibuclaw ibuclaw commented Mar 20, 2026

rainers and others added 30 commits January 13, 2026 07:37
…rray does not compile. (dlang#22391)

pass the element type to initializerToExpression() for the element if the dimensions for type and initializer match
…ble using argument types '(shared(int[int]))' (dlang#22407)

add shared overloads for _d_aaLen and _d_aaIn
…lang#22473)

This fixes segfault-handler tests for LDC Linux CI, apparently caused
by an insufficient alternate-stack size. Claude was able to diagnose
the problem: ldc-developers/ldc#5041 (comment)
…generate as many combinations (dlang#22059)

apply to the slower CI builds by combining -O and -release
… CTFE associative array any more

don't abort if arrays are used with betterC, just skip code generation of the function as with other allocations
don't require TypeInfo in array lowerings if compiling without it
handle inout in aa.dup, create mutable AA as much as possible
restore going through __equals lowering for all arrays but strings
…g#22571)

Optimize the operands for trivially-memcmp-able array comparisons
too (as done for non-memcmp-able arrays), so that e.g. slice-expressions
of array literals are promoted to array literals.
…#22052)

tests dllgc and dynamiccast compile both executable and shared library from the same source file, but the DLL with -version=DLL. Both targets have the same intermediate object file which can cause both build and runtime errors when building concurrently.

Solution: generate object files for DLLs to a different directory
…hen the only pointers come from tuple members (dlang#22595)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
…et.in_.IN6* (dlang#22627)

Co-authored-by: Dennis Korpel <dennis@sarc.nl>
…LL (dlang#22622)

When an alias this redirects a nested AA write through a struct field,
the inner AA IndexExp was left with modifiable=true and never lowered to
an rvalue read, causing a SIGILL in the IR generator.

Add revertModifiableAAIndexReads() to handle this case: it recurses
through DotVarExp wrappers produced by alias this and lowers any
modifiable AA IndexExp to a proper rvalue read before the side-effect
extraction in rewriteAAIndexAssign().
…even after removing shared

allow AA.clear with shared values for backward compatibility
dlang#22615)

Fix Issue 22614 - [Windows] tmpnam() in runPreprocessor generates root-drive paths, fails with permission denied for non-admin users
The x64 version of fstatat() needs to be mangled with the "INODE64" suffix in order to match the stat_t layout defined by Druntime.

See https://github.com/apple-oss-distributions/xnu/blob/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/sys/stat.h#L573
@dlang-bot
Copy link
Copy Markdown
Contributor

Thanks for your pull request, @ibuclaw!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

⚠️⚠️⚠️ Warnings ⚠️⚠️⚠️

  • In preparation for migrating from Bugzilla to GitHub Issues, the issue reference syntax has changed. Please add the word "Bugzilla" to issue references. For example, Fix Bugzilla Issue 12345 or Fix Bugzilla 12345.(Reminder: the edit needs to be done in the Git commit message, not the GitHub pull request.)

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "master + dmd#22772"

@ibuclaw
Copy link
Copy Markdown
Member Author

ibuclaw commented Mar 20, 2026

(I suspect merges might have not been done with --no-ff for a while, hence all these commits in the noise).

@ibuclaw ibuclaw merged commit 48d6335 into dlang:master Mar 20, 2026
40 of 42 checks passed
@ibuclaw ibuclaw deleted the merge_stable branch March 20, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment