Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
470 commits
Select commit Hold shift + click to select a range
2b3b9dd
Fix issue dlang/dmd!20145 - Segfault wrt. implicit function => delega…
vindexbit Dec 25, 2025
c3efedb
Remove call (dlang/dmd!22308)
elshorbagyx Dec 25, 2025
6a8a65e
Remove `toBaseype` calls in `hdrgen` (dlang/dmd!22309)
elshorbagyx Dec 25, 2025
d6bdb59
Move `Type.addSTC` to `typesem` (dlang/dmd!22129)
elshorbagyx Dec 25, 2025
1423478
Use toBaseNonSemantic instead of toBasetype in IntegerExp (dlang/dmd!…
elshorbagyx Dec 25, 2025
97f7d84
Move `Type.toBasetype` to `typesem` (dlang/dmd!22312)
elshorbagyx Dec 26, 2025
c612bc5
Break semantic dependency of `mtype` on `typesem` (dlang/dmd!22313)
elshorbagyx Dec 26, 2025
15643bf
Break dependency of dmodule on opover (dlang/dmd!22318)
elshorbagyx Dec 26, 2025
f5fbccf
Break dependency of `dscope` on `importc` and `target` (dlang/dmd!22…
elshorbagyx Dec 26, 2025
6c26b52
Break dependency of `attrib` on `objc` (dlang/dmd!22319)
elshorbagyx Dec 26, 2025
df84027
Break dependency of `dclass` on `target` (dlang/dmd!22320)
elshorbagyx Dec 27, 2025
13e0626
Fix dlang/dmd!19163 - ICE with delegate in UDA (dlang/dmd!22316)
vindexbit Dec 27, 2025
e50f9ea
Ensure contracts are run on the returned object (dlang/dmd!22203)
limepoutine Dec 29, 2025
759acb6
dmd/dfa: Add documentation to the Data Flow Analysis (DFA) engine (dl…
Adityazzzzz Dec 29, 2025
e76e59d
Add missing mbstate_t for Windows (dlang/dmd!22326)
apz28 Dec 30, 2025
7357271
importC: convert C complex types to use D fundamental complex and not…
Emmankoko Dec 30, 2025
e311fcb
Fix dlang/dmd!22322 - converting real to float uses double rounding f…
vindexbit Dec 30, 2025
9ea1752
mtype.h: Add convenience methods back to Type class (dlang/dmd!22333)
ibuclaw Dec 31, 2025
e681f4d
core.internal.vararg.gnu: Fix module implementation (dlang/dmd!22332)
ibuclaw Dec 31, 2025
43843fb
globals.h: Add missing useFastDFA field (dlang/dmd!22330)
ibuclaw Dec 31, 2025
3f3ff27
expression.h: Fix signature of dmd::isLvalue (dlang/dmd!22329)
ibuclaw Dec 31, 2025
e093616
Move `FuncDeclaration.isVirtualMethod` and `FuncDeclaration.hasNested…
elshorbagyx Jan 1, 2026
5139cc1
aggregate.h: Add StructDeclaration::hasCopyConstruction binding (dlan…
ibuclaw Jan 1, 2026
3974354
pragma(mangle): Fix unbalanced backticks in error (dlang/dmd!22334)
ibuclaw Jan 1, 2026
ee957a8
fix dlang/dmd!21381 for location of undefined identifier
Iskaban10 Jan 2, 2026
87f270d
Updated test
Iskaban10 Jan 2, 2026
47bac98
loc changed to mt.loc
Iskaban10 Jan 2, 2026
b12ff12
Updated
Iskaban10 Jan 2, 2026
d3b990a
Fix dlang/dmd!18316 - Inaccurate parsing of floating-point literals (…
rainers Jan 2, 2026
b2df543
Move `FuncDeclaration.addPreInvariant` and `FuncDeclaration.addPostIn…
elshorbagyx Jan 2, 2026
637073a
Move `FuncDeclaration.isVirtual` to `funcsem` (dlang/dmd!22340)
elshorbagyx Jan 3, 2026
8964ad2
Added issue test case
Iskaban10 Jan 3, 2026
874ed4f
Updated issue test case
Iskaban10 Jan 3, 2026
2fbfae1
Updated issue test case
Iskaban10 Jan 3, 2026
97c44c7
Updated issue test case
Iskaban10 Jan 3, 2026
9ce5c7f
Updated issue test case
Iskaban10 Jan 3, 2026
6ffdeae
Updated issue test case
Iskaban10 Jan 3, 2026
cf63baa
Updated issue test case
Iskaban10 Jan 3, 2026
ca24db3
Added Test
Iskaban10 Jan 3, 2026
28ffc12
Implement `with(auto x = ...)` (dlang/dmd!22196)
thewilsonator Jan 5, 2026
c1119d3
ImportC: Support bare function-like macro calls in #define (dlang/dmd…
CyberShadow Jan 5, 2026
1d0a469
refactor: move Port.strtold as strtold_ms to strtold.d to make life e…
rainers Jan 5, 2026
0c75813
ImportC: Add test for function-like macro calling another macro (dlan…
CyberShadow Jan 5, 2026
678ad09
fixroot_array_memset_v2
gorsing Jan 6, 2026
20816cd
Merge pull request dlang/dmd!22344 from gorsing/fixroot_array_memset
dkorpel Jan 6, 2026
9965c9e
Merge pull request dlang/dmd!22337 from Iskaban10/undefined-identifier
dkorpel Jan 6, 2026
a23f374
Update copyright years to 2026 (dlang/dmd!22350)
ibuclaw Jan 6, 2026
e3c8975
fixroot_array
gorsing Jan 6, 2026
7a70e0b
Move enum class Edition to globals.h
ibuclaw Jan 6, 2026
8eeaaa2
Merge pull request dlang/dmd!22352 from ibuclaw/cxx_edition
dkorpel Jan 6, 2026
0f440b6
_d_cast: Don't generate lowering for casts to extern(C++) class (dlan…
ibuclaw Jan 6, 2026
163dc4f
Move funcs (dlang/dmd!22356)
elshorbagyx Jan 7, 2026
f9566f1
Merge pull request dlang/dmd!22351 from gorsing/fixroot_array_unused_…
dkorpel Jan 7, 2026
136e8e5
fix dlang/dmd!22153 and dlang/dmd!20152 (dlang/dmd!22360)
Emmankoko Jan 9, 2026
40eea05
Merge pull request dlang/dmd!22364 from dlang/stable
thewilsonator Jan 9, 2026
45e1a86
Remove branches if the condition is noreturn (dlang/dmd!22362)
limepoutine Jan 9, 2026
c75b572
Adjust offsets for all nameless fields in anon declaration
ibuclaw Jan 9, 2026
97364e4
Improve error message when symbol lookup fails, show where the sugges…
rikkimax Jan 10, 2026
abada15
Check noreturn access for typeid and in condition
ntrel Jan 10, 2026
70254dd
Remove unnecessary check for `Tnoreturn`
ntrel Jan 10, 2026
eff96ca
Merge pull request dlang/dmd!22373 from ntrel/noreturn-cond
dkorpel Jan 10, 2026
d493659
Merge pull request dlang/dmd!22367 from ibuclaw/anon_bitfield_offset
dkorpel Jan 10, 2026
a4cf1c6
Merge pull request dlang/dmd!22372 from rikkimax/improve-on-undefined…
thewilsonator Jan 11, 2026
d9f4341
refactor reportSafeError()
WalterBright Jan 11, 2026
73307b8
allow including core.sys.linux.net.if_ and core.sys.linux.hdlc.ioctl …
rainers Jan 11, 2026
cf7e844
Merge pull request dlang/dmd!22379 from rainers/build_if_ioctl
thewilsonator Jan 11, 2026
fd10559
Merge pull request dlang/dmd!22377 from WalterBright/reportSafeError
thewilsonator Jan 11, 2026
56b9afa
fix dlang/dmd!22381 - out-of-bounds access when masking ushort
rainers Jan 11, 2026
8ed5b08
Merge pull request dlang/dmd!22382 from rainers/issue22381
thewilsonator Jan 12, 2026
be8369a
properly fix dlang/dmd!22153
Emmankoko Dec 12, 2025
d321a19
Fix dlang/dmd!22282 Applying a UDA to a File-type variable causes DMD…
WalterBright Jan 12, 2026
f6ea6be
Merge pull request dlang/dmd!22387 from Emmankoko/static
dkorpel Jan 12, 2026
c09a589
Change the lastdc type ptr to void
elshorbagyx Jan 12, 2026
fa99cdb
Update headers
elshorbagyx Jan 12, 2026
97f47e8
Merge pull request dlang/dmd!22390 from elshorbagyx/break-dscope-doc
thewilsonator Jan 12, 2026
5d8c1ce
Break dependency of `dmodule` on `doc` (dlang/dmd!22389)
elshorbagyx Jan 13, 2026
9866a9c
fix dlang/dmd!22393 - bitfield .init value contains void elements (dl…
ibuclaw Jan 13, 2026
ee9e8e6
Fix 22397 - Internal Error: array literal with UDA cause failure
MadhurKumar004 Jan 14, 2026
8bb7905
Merge pull request dlang/dmd!22398 from MadhurKumar004/fix-22397
dkorpel Jan 15, 2026
21fe24a
Fix source location of bitfield declarations (dlang/dmd!22402)
ibuclaw Jan 15, 2026
05d4fff
fix for wrong location for incompatible argument error (dlang/dmd!22370)
Iskaban10 Jan 16, 2026
84970ec
set WithArgTypes for AArch64 (dlang/dmd!22404)
WalterBright Jan 16, 2026
677f9ca
Assert when passing `noreturn` argument to function (dlang/dmd!22413)
ntrel Jan 19, 2026
5987de5
Disallow discarding assignment to indexed array literal (dlang/dmd!22…
ntrel Jan 19, 2026
731a1f6
Revert "core.sys.posix: musl 32-bit ARM support (dlang/dmd!22278)"
CyberShadow Jan 20, 2026
16e69aa
core.sys.posix.sys.stat: Fix musl ARM stat_t to match musl source
CyberShadow Jan 20, 2026
149c550
fix kludge regarding 0 sized structs on parameter stack
WalterBright Jan 20, 2026
6d6eb36
fix kludge regarding 0 sized structs on parameter stack (dlang/dmd!22…
MadhurKumar004 Jan 21, 2026
8f2e789
Implement null dereference check (dlang/dmd!22040)
rikkimax Jan 21, 2026
60637bd
Allow ref variable initialized from noreturn (dlang/dmd!22432)
ntrel Jan 21, 2026
eb76bbc
Fix dlang/dmd!22427 - Premature removal of ternary of type noreturn
ibuclaw Jan 20, 2026
74372e7
Fix dlang/dmd!22430 - noreturn evaluation in ConditionalExpression is…
ibuclaw Jan 21, 2026
5704477
Disable DFA when compiling IN_GCC (dlang/dmd!22435)
ibuclaw Jan 21, 2026
4b14e46
Fix Issue 22394 - Show instantiation trace for lambda errors (dlang/d…
Adityazzzzz Jan 21, 2026
f529233
fix dlang/dmd!22399 - Low-level threading support on Windows DLLs are…
rainers Jan 21, 2026
07645f3
Don't drop aggregate type qualifier for alias parameter (dlang/dmd!22…
ntrel Jan 21, 2026
b4edc09
Fix dlang/dmd!19905 - expand type tuples in delegate params during IF…
CyberShadow Jan 21, 2026
9e61620
[2024 edition] Disallow `alias ... ident;` syntax (dlang/dmd!22244)
ntrel Jan 21, 2026
9c27bbb
Improve wording of some errors around bitfields (dlang/dmd!22439)
ibuclaw Jan 23, 2026
6ec1b05
SIMD not supported on AArch64 yet (dlang/dmd!22440)
WalterBright Jan 23, 2026
ac2d628
Disallow discarding an assignment to a struct rvalue (dlang/dmd!22369)
ntrel Jan 23, 2026
8f60ad4
`__traits(isSame, Object, const Object)` should not be true (dlang/dm…
ntrel Jan 23, 2026
643f38d
Don't emit REP MOVSQ/STOSQ on x64 (dlang/dmd!22449)
limepoutine Jan 26, 2026
71e756d
remove rt/memset.d's dependency on rt/util/utility.d (dlang/dmd!22455)
WalterBright Jan 26, 2026
0679d38
arm64: Fix alignment of structs with only zero sized fields (dlang/dm…
ibuclaw Jan 26, 2026
8d0ff32
Remove backend optimization converting call to jmp
limepoutine Jan 22, 2026
2c28873
Fix diff-based AUTO_UPDATE for Windows
Dec 9, 2025
8c4ca64
Add supplemental location message for deprecated symbols
Jan 27, 2026
f9588e3
fix dlang/dmd!22463 - SOURCE_DATE_EPOCH parsing incorrectly affected …
ibuclaw Jan 28, 2026
5062164
Fix dlang/dmd!20578 - don't inline enum variable declaration
limepoutine Jan 30, 2026
0cf9749
Add 'used in initialization here' message for type initializer errors
claude Jan 30, 2026
1b49a70
Add 'perhaps use X()' hint for struct/class type initializer errors
claude Jan 30, 2026
60c5b38
remove phobos dependency from test suite
WalterBright Jan 31, 2026
8f11b07
Fix dlang/dmd!22481 - inliner silently removes return in loops
limepoutine Jan 31, 2026
99ddcb3
[druntime] Replace old AliasDeclaration syntax for 2024 edition
ntrel Jan 25, 2026
264912e
fix dlang/dmd!19675 - fatal error LNK1179 on windows-x86_64-dmd with …
rainers Feb 2, 2026
0ea1cc2
reals are 8 bytes
WalterBright Feb 3, 2026
274f296
Fix dlang/dmd!22504 - druntime fails to build on powerpc64le-linux-gnu
ibuclaw Feb 3, 2026
86fb9cd
no AArch64 inline asm yet, thunk function type (dlang/dmd!22506)
WalterBright Feb 4, 2026
876714b
use argtypes_aarch64.d for AArch64
WalterBright Feb 4, 2026
415df72
Fix dlang/dmd!22489 - `e - e` is not always 0 for floating point numbers
limepoutine Feb 4, 2026
01c4880
use functions for OPbt, OPbsr, etc.
WalterBright Feb 5, 2026
1b5ff2b
Fix dlang/dmd!22512 - druntime fails to build on sparcv9-sun-solaris2.11
ibuclaw Feb 5, 2026
36bed4a
Add missing directives to compiler tests
ibuclaw Feb 5, 2026
9c49b8e
Fix some pragma mangle tests
ibuclaw Feb 5, 2026
e60613d
Convert ThrowStatement to ThrowExp when inlining
limepoutine Jan 30, 2026
2264a23
Allow RVO into closure variable
limepoutine Feb 2, 2026
1937220
refactoring optimization semantic array reserve
Feb 2, 2026
b61a17d
refactoring optimization semantic array reserve in funcdecl
Feb 2, 2026
5e029cd
add AI generated test cases for code generator
WalterBright Feb 3, 2026
8bec37a
argtypes for AArch64
WalterBright Feb 5, 2026
893debc
druntime: Add FreeBSD_16 version
ibuclaw Feb 6, 2026
59bd618
[optlink] remove detritus in `dmd/main.d`
thewilsonator Feb 6, 2026
23b8f3a
Fix opBinaryRight error message to suggest lhs instead of rhs (dlang/…
abulgit Feb 7, 2026
96d8c76
-preview=safer should ignore C files
abulgit Feb 7, 2026
e98f784
add assert to test case (dlang/dmd!22531)
WalterBright Feb 8, 2026
ad30c61
Merge pull request dlang/dmd!22530 from abulgit/fix-test
dkorpel Feb 8, 2026
3ff1e13
Simplify null deref check test (dlang/dmd!22549)
rikkimax Feb 10, 2026
1ff309b
Fix some `-preview=nosharedaccess` compilation errors in druntime (dl…
atilaneves Feb 11, 2026
d56be73
Fix dlang/dmd!22560 - Can supposedly index AA with mismatching key ty…
kinke Feb 13, 2026
8ee2f3d
implement complex assignment (dlang/dmd!22568)
WalterBright Feb 15, 2026
685a66a
runnable/test20275.d: Add UNICODE_NAMES
ibuclaw Feb 16, 2026
0313d12
[internal/traits] Fix regression in `hasElaborateDestructor` (dlang/d…
ntrel Feb 18, 2026
a978c23
Change int8_t etc. to signed char on Solaris
rorth Feb 17, 2026
809c08a
rename ldouble to real (dlang/dmd!22589)
WalterBright Feb 19, 2026
9bcf814
Make modules in druntime compile with nosharedaccess (dlang/dmd!22592)
atilaneves Feb 19, 2026
020ed0f
Fix issue dlang/dmd!22517. typeid(void) claims that the type has poin…
schveiguy Feb 20, 2026
a61e537
Always make a copy when constructing mutable struct literals (dlang/d…
limepoutine Feb 20, 2026
b49aa0a
Refactor: expose `canElideCopy` to C++ with saner default parameters …
limepoutine Feb 21, 2026
2b08413
Implement for fast DFA engine, value tracking and uninitialized memor…
rikkimax Feb 22, 2026
f23b49b
Consider `v.__ctor()` an lvalue (dlang/dmd!22605)
limepoutine Feb 22, 2026
f1e11aa
Fix dlang/dmd!22613 - consecutive initialization fails with postblits…
limepoutine Feb 23, 2026
e1e9f10
Do proper construction when initializing `__result` (dlang/dmd!22620)
limepoutine Feb 23, 2026
582324d
-vgc: report closure locations just like nogc (dlang/dmd!22630)
dkorpel Feb 25, 2026
84a324f
Refactor: Remove addComment from dsymbol.d to break semantic dependen…
gnavdev28 Feb 25, 2026
a83eeb2
Move TemplateDeclaration.computeIsTrivialAlias logic to templatesem (…
AbhishekASLK Feb 25, 2026
e513b33
at least get x87 to compile on AArch64 host (dlang/dmd!22634)
WalterBright Feb 25, 2026
ef6e7fa
Do semantic under nested scope when returning inside foreach body (dl…
limepoutine Feb 25, 2026
b4150b4
refactor: move fixupInvariantIdent from func to dsymbolsem (dlang/dmd…
AbhishekASLK Feb 25, 2026
2e1de93
clean up imports in asttypename (dlang/dmd!22641)
AbhishekASLK Feb 26, 2026
d599614
Fix issue17167.sh test on systems with small NAME_MAX (dlang/dmd!22643)
atilaneves Feb 26, 2026
fff6263
Fix tests hanging due to gdb lock (dlang/dmd!22644)
atilaneves Feb 26, 2026
2f91d89
Make druntime compile with -preview=nosharedaccess (dlang/dmd!22646)
atilaneves Feb 27, 2026
b9c9824
Fix issue 22621 - child scope should inherit inunion from its parent …
gulugulubing Feb 27, 2026
1f4de58
Add `__traits(needsDestruction, T)` (dlang/dmd!22616)
ntrel Feb 28, 2026
99d13e0
Fix `__traits(isCopyable)` fails on static array of non-copyable stru…
ntrel Feb 28, 2026
4ccd6d0
`__traits(allMembers, Struct)` should call `dsymbolSemantic` (dlang/d…
ntrel Feb 28, 2026
935b28e
AArch64 does not support x87 intrinsics (dlang/dmd!22664)
WalterBright Mar 1, 2026
c24de7d
Generate .di to stdout if name is "-" (dlang/dmd!22662)
IDONTUSEGH Mar 1, 2026
f8b7e7b
Generate `etc.valgrind.valgrind` docs (dlang/dmd!22675)
ntrel Mar 1, 2026
648adf6
Check member access for `__traits(getMember)` in `@safe` code (dlang/…
ntrel Mar 1, 2026
aa96544
Makefile: Double quote $(MAKE) variable to prevent word splitting (dl…
bscuron Mar 2, 2026
8b30b98
Delete useless import in compiler/src/dmd/dclass.d (dlang/dmd!22654)
MadhurKumar004 Mar 2, 2026
90d0db0
implement isOverlapped trait (dlang/dmd!22640)
gulugulubing Mar 2, 2026
681055c
[CoreDdoc] Fix 2 version typos (dlang/dmd!22682)
ntrel Mar 2, 2026
795a15b
Fix the fstatat declaration on macOS/x64. (dlang/dmd!22689)
s-ludwig Mar 3, 2026
efe19e4
Fix dlang/dmd!22667: hdrgen: Skip using typedefIdent for basic types …
IDONTUSEGH Mar 3, 2026
5f89df5
[`core.sys` docs] Build HTML with `-os=platform` flag (dlang/dmd!22691)
ntrel Mar 5, 2026
787f91b
Remove CLI docs for `-debug=<level>`, `-version=<level>` (dlang/dmd!2…
ntrel Mar 6, 2026
1caace3
Generate missing `sys/sysctl` HTML (dlang/dmd!22705)
ntrel Mar 6, 2026
6201faf
Also define `-os=linux` for Linux and Posix docs (dlang/dmd!22706)
ntrel Mar 7, 2026
020c4f2
[HTML docs] Generate missing files for `dmd` and `core` (dlang/dmd!22…
ntrel Mar 9, 2026
292f032
Revert "Makefile: Double quote $(MAKE) variable to prevent word split…
kinke Mar 12, 2026
6b5a336
Add a configuration for the GC to try to keep its heap size below a c…
deadalnix Mar 12, 2026
4976f26
Add AArch64 to src/core/thread/types.d (dlang/dmd!22722)
WalterBright Mar 12, 2026
f6bb9c4
add sections_darwin_rt.d (dlang/dmd!22723)
WalterBright Mar 13, 2026
265fef8
fix: include template argument types in ftime-trace events (dlang/dmd…
hariprakazz Mar 13, 2026
538b4ad
[root/ctfloat.d] yl2x_supported iff real_t == real (dlang/dmd!22727)
thewilsonator Mar 13, 2026
2faf06f
get osthread.d to compile with AArch64 (dlang/dmd!22729)
WalterBright Mar 13, 2026
6ce59df
stub out atomic functions for AArch64 (dlang/dmd!22728)
WalterBright Mar 13, 2026
ae7d308
Add TODO AArch64 to find places that need work in druntime (dlang/dmd…
WalterBright Mar 14, 2026
4749788
more AArch64 special cases (dlang/dmd!22731)
WalterBright Mar 14, 2026
4224a7a
[dmd/cli.d] HTML fixes (dlang/dmd!22733)
ntrel Mar 14, 2026
1d4cc3e
[root/longdouble.d] make `ld_cmp` use a regular return (dlang/dmd!22738)
thewilsonator Mar 15, 2026
b472b2b
[dmd/cli.d] Manually italicize `foo` in help/ddoc text for `<foo>` in…
ntrel Mar 15, 2026
eee53a2
Druntime: Select newer NetBSD time bindings (dlang/dmd!22720)
dd86k Mar 16, 2026
14793ec
core.thread.package: Revise unittest (dlang/dmd!22736)
kinke Mar 16, 2026
57bc0ef
add op pseudo-op to inline assembler (dlang/dmd!22739)
WalterBright Mar 17, 2026
c348ed2
Druntime: Select newer pwd and socket symbols for NetBSD (dlang/dmd!2…
dd86k Mar 17, 2026
0f004b2
core.sys.posix.dirent: Add dirfd (dlang/dmd!22750)
dd86k Mar 17, 2026
e45454f
[dmd/cli.d] More CLI option ddoc fixes (dlang/dmd!22758)
ntrel Mar 18, 2026
662cd8f
refactor and add setTokenList() (dlang/dmd!22762)
WalterBright Mar 19, 2026
58a1a40
refactoring (dlang/dmd!22366)
gorsing Mar 19, 2026
a409bf4
Allow structs with pointers to be constructed as shared (dlang/dmd!22…
atilaneves Mar 20, 2026
b7d4a9b
Fix unittest compilation failures with nosharedaccess (dlang/dmd!22764)
atilaneves Mar 20, 2026
a5830e2
Implement static array length inference `[$]` (dlang/dmd!22745)
gulugulubing Mar 20, 2026
61f7378
Implement section attribute (dlang/dmd!22719)
rikkimax Mar 20, 2026
8e6891e
Druntime: Modernize NetBSD bindings (dlang/dmd!22767)
dd86k Mar 20, 2026
94e24ec
Merge remote-tracking branch 'upstream/stable' into merge_stable
ibuclaw Mar 20, 2026
8cfa494
Fix Bugzilla 22752: Force semantic analysis of fields before is() con…
oCHIKIo Mar 20, 2026
05e9798
Only `pragma(printf)` functions marked @safe or @trusted are @safe (d…
ntrel Mar 21, 2026
bb5dfac
implement deh_win64_posix.terminate() (dlang/dmd!22780)
WalterBright Mar 21, 2026
841a199
use malloc() instead of alloca() until I implement alloca() (dlang/dm…
WalterBright Mar 22, 2026
671a918
[cparse.d] reduce indentation in `cparseGnuAttribute` (dlang/dmd!22792)
thewilsonator Mar 23, 2026
1c2ee90
Fix dlang/dmd!22754 - Move Object.__monitor to druntime (dlang/dmd!22…
dkorpel Mar 23, 2026
2aa49bf
dmd: file: Add PROT_READ to mmap protections. (dlang/dmd!22787)
yelninei Mar 23, 2026
e1e923b
Allow calling trusted `pragma(printf)` function from system code (dla…
ntrel Mar 23, 2026
a57b185
Fix Issue 22769: ICE on IFTI call inside interpolated string (dlang/d…
oCHIKIo Mar 23, 2026
10e5e6a
Merge remote-tracking branch 'upstream/master' into stable
ibuclaw Mar 23, 2026
93b5b1c
Fix dlang#22639 - opApply triggers GC allocation error with -betterC
limepoutine Mar 25, 2026
e6f59f5
[stable] Revert "Fix dlang/dmd!22754 - Move Object.__monitor to drunt…
ibuclaw Mar 27, 2026
fa98da7
Type.unSharedOf: Don't propagate back-end ctype after building variant
ibuclaw Apr 1, 2026
943acb1
Type.fixTo: Always propagate the naked type to new variants
ibuclaw Apr 1, 2026
e5bb783
Fixup "Disable rewriting of finally statements to sequences unless re…
dkorpel Apr 3, 2026
44f2295
Fix slicing struct init array field with `ArrayLiteralExpression.basi…
ntrel Mar 24, 2026
ca4b3b4
Fix dlang/dmd!21839 - ICE - Crash when using void[N].init
dkorpel Apr 4, 2026
f26633e
Merge remote-tracking branch 'origin/dmd-rewrite-stable' into merge-2…
kinke Apr 7, 2026
5ce75d2
[merge fixes]
kinke Apr 7, 2026
8402486
WIP: Adapt to free-standing is… Type predicates
kinke Apr 7, 2026
3b3b622
Adapt to free-standing to[U]Integer for Expression
kinke Apr 7, 2026
326959d
Adapt to free-standing isLvalue for Expression
kinke Apr 7, 2026
cb53259
Adapt to free-standing needsDestruction for Type
kinke Apr 7, 2026
5286bfc
Adapt to free-standing toStringExp for Expression
kinke Apr 7, 2026
489922b
Adapt to free-standing alignment and alignsize for Type
kinke Apr 7, 2026
e47e712
Adapt to free-standing search for Scope, incl. frontend header fix
kinke Apr 7, 2026
2d32e52
Bump Phobos to v2.113
kinke Apr 7, 2026
d6687f2
druntime: Little merge fix for core.checkedint.mulu()
kinke Apr 8, 2026
1a4626d
asm-x86.h: Don't use toInteger() for special 'RegExp'
kinke Apr 8, 2026
1b4a060
druntime: Adapt to core.internal.vararg.aarch64 module rename to aapcs64
kinke Apr 8, 2026
71245a5
DMD headers: Fix signature of dmd::isVirtual()
kinke Apr 8, 2026
17ebc17
C++ headers: Remove removed Scope::search() member function
kinke Apr 8, 2026
8331631
C++ headers: Fix signature of dmd::isVirtual()
kinke Apr 8, 2026
bc89cd7
Fix issue 22887 - ICE with ForwardRef*[$] array (dlang/dmd!22891)
gulugulubing Apr 9, 2026
2167a0b
Adapt to new ConstructExp::lowering field
kinke Apr 9, 2026
dd2241d
Add newly required import for lit-test plugins/visitor_example.d
kinke Apr 9, 2026
65df186
druntime: Add Emscripten support in core.sys.posix.signal (dlang/dmd!…
kinke Apr 9, 2026
e7483c4
Merge remote-tracking branch 'origin/dmd-rewrite-stable' into merge-2…
kinke Apr 9, 2026
d6dccb3
ldmd2: Support -check=nullderef=off
kinke Apr 10, 2026
67b2756
Adapt lit-test codegen/in_place_construct.d to __result var changes i…
kinke Apr 10, 2026
7d40b9b
Add missing new TimeTraceEventType enum member in C++ header
kinke Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion dmd/access.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Specification: $(LINK2 https://dlang.org/spec/attribute.html#visibility_attributes, Visibility Attributes)
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/access.d, _access.d)
Expand Down
140 changes: 1 addition & 139 deletions dmd/aggregate.d
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Specification: $(LINK2 https://dlang.org/spec/struct.html, Structs, Unions),
* $(LINK2 https://dlang.org/spec/class.html, Class).
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/aggregate.d, _aggregate.d)
Expand All @@ -20,21 +20,15 @@ import core.checkedint;
import dmd.aliasthis;
import dmd.arraytypes;
import dmd.astenums;
import dmd.attrib;
import dmd.declaration;
import dmd.dscope;
import dmd.dstruct;
import dmd.dsymbol;
import dmd.dtemplate;
import dmd.errors;
import dmd.expression;
import dmd.func;
import dmd.hdrgen;
import dmd.id;
import dmd.identifier;
import dmd.location;
import dmd.mtype;
import dmd.tokens;
import dmd.visitor;

/**
Expand Down Expand Up @@ -158,24 +152,6 @@ extern (C++) abstract class AggregateDeclaration : ScopeDsymbol
visibility = Visibility(Visibility.Kind.public_);
}

/***************************************
* Create a new scope from sc.
* semantic, semantic2 and semantic3 will use this for aggregate members.
*/
Scope* newScope(Scope* sc)
{
auto sc2 = sc.push(this);
sc2.stc &= STC.flowThruAggregate;
sc2.parent = this;
sc2.inunion = isUnionDeclaration();
sc2.visibility = Visibility(Visibility.Kind.public_);
sc2.explicitVisibility = false;
sc2.aligndecl = null;
sc2.userAttribDecl = null;
sc2.namespace = null;
return sc2;
}

/***************************************
* Returns:
* The total number of fields minus the number of hidden fields.
Expand Down Expand Up @@ -206,120 +182,6 @@ extern (C++) abstract class AggregateDeclaration : ScopeDsymbol
return enclosing !is null;
}

/* Append vthis field (this.tupleof[$-1]) to make this aggregate type nested.
*/
extern (D) final void makeNested()
{
if (enclosing) // if already nested
return;
if (sizeok == Sizeok.done)
return;
if (isUnionDeclaration() || isInterfaceDeclaration())
return;
if (storage_class & STC.static_)
return;

// If nested struct, add in hidden 'this' pointer to outer scope
auto s = toParentLocal();
if (!s)
s = toParent2();
if (!s)
return;
Type t = null;
if (auto fd = s.isFuncDeclaration())
{
enclosing = fd;

/* https://issues.dlang.org/show_bug.cgi?id=14422
* If a nested class parent is a function, its
* context pointer (== `outer`) should be void* always.
*/
t = Type.tvoidptr;
}
else if (auto ad = s.isAggregateDeclaration())
{
if (isClassDeclaration() && ad.isClassDeclaration())
{
enclosing = ad;
}
else if (isStructDeclaration())
{
if (auto ti = ad.parent.isTemplateInstance())
{
enclosing = ti.enclosing;
}
}
t = ad.handleType();
}
if (enclosing)
{
//printf("makeNested %s, enclosing = %s\n", toChars(), enclosing.toChars());
assert(t);
if (t.ty == Tstruct)
t = Type.tvoidptr; // t should not be a ref type

assert(!vthis);
vthis = new ThisDeclaration(loc, t);
//vthis.storage_class |= STC.ref_;

// Emulate vthis.addMember()
members.push(vthis);

// Emulate vthis.dsymbolSemantic()
vthis.storage_class |= STC.field;
vthis.parent = this;
vthis.visibility = Visibility(Visibility.Kind.public_);
vthis.alignment = t.alignment();
vthis.semanticRun = PASS.semanticdone;

if (sizeok == Sizeok.fwd)
fields.push(vthis);

makeNested2();
}
}

/* Append vthis2 field (this.tupleof[$-1]) to add a second context pointer.
*/
extern (D) final void makeNested2()
{
if (vthis2)
return;
if (!vthis)
makeNested(); // can't add second before first
if (!vthis)
return;
if (sizeok == Sizeok.done)
return;
if (isUnionDeclaration() || isInterfaceDeclaration())
return;
if (storage_class & STC.static_)
return;

auto s0 = toParentLocal();
auto s = toParent2();
if (!s || !s0 || s == s0)
return;
auto cd = s.isClassDeclaration();
Type t = cd ? cd.type : Type.tvoidptr;

vthis2 = new ThisDeclaration(loc, t);
//vthis2.storage_class |= STC.ref_;

// Emulate vthis2.addMember()
members.push(vthis2);

// Emulate vthis2.dsymbolSemantic()
vthis2.storage_class |= STC.field;
vthis2.parent = this;
vthis2.visibility = Visibility(Visibility.Kind.public_);
vthis2.alignment = t.alignment();
vthis2.semanticRun = PASS.semanticdone;

if (sizeok == Sizeok.fwd)
fields.push(vthis2);
}

override final bool isExport() const
{
return visibility.kind == Visibility.Kind.export_;
Expand Down
8 changes: 2 additions & 6 deletions dmd/aggregate.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

/* Compiler implementation of the D programming language
* Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* written by Walter Bright
* https://www.digitalmars.com
* Distributed under the Boost Software License, Version 1.0.
Expand Down Expand Up @@ -121,7 +121,6 @@ class AggregateDeclaration : public ScopeDsymbol
d_bool disableNew; // disallow allocations using `new`
Sizeok sizeok; // set when structsize contains valid data

virtual Scope *newScope(Scope *sc);
bool isDeprecated() const override final; // is aggregate deprecated?
bool isNested() const;
bool isExport() const override final;
Expand Down Expand Up @@ -173,6 +172,7 @@ class StructDeclaration : public AggregateDeclaration
static StructDeclaration *create(Loc loc, Identifier *id, bool inObject);
StructDeclaration *syntaxCopy(Dsymbol *s) override;
const char *kind() const override;
bool hasCopyConstruction();
bool zeroInit() const; // !=0 if initialize with 0 fill
bool zeroInit(bool v);
bool hasIdentityAssign() const; // true if has identity opAssign
Expand Down Expand Up @@ -277,7 +277,6 @@ class ClassDeclaration : public AggregateDeclaration
static ClassDeclaration *create(Loc loc, Identifier *id, BaseClasses *baseclasses, Dsymbols *members, bool inObject);
const char *toPrettyChars(bool QualifyTypes = false) override;
ClassDeclaration *syntaxCopy(Dsymbol *s) override;
Scope *newScope(Scope *sc) override;

#define OFFSET_RUNTIME 0x76543210
#define OFFSET_FWDREF 0x76543211
Expand All @@ -292,8 +291,6 @@ class ClassDeclaration : public AggregateDeclaration
virtual int vtblOffset() const;
const char *kind() const override;

void addObjcSymbols(ClassDeclarations *classes, ClassDeclarations *categories) override final;

#if !IN_LLVM
// Back end
Dsymbol *vtblsym;
Expand All @@ -306,7 +303,6 @@ class InterfaceDeclaration final : public ClassDeclaration
{
public:
InterfaceDeclaration *syntaxCopy(Dsymbol *s) override;
Scope *newScope(Scope *sc) override;
bool isBaseOf(ClassDeclaration *cd, int *poffset) override;
const char *kind() const override;
int vtblOffset() const override;
Expand Down
4 changes: 2 additions & 2 deletions dmd/aliasthis.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Specification: $(LINK2 https://dlang.org/spec/class.html#alias-this, Alias This)
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/aliasthis.d, _aliasthis.d)
Expand Down Expand Up @@ -41,7 +41,7 @@ extern (C++) final class AliasThis : Dsymbol
{
assert(!s);
auto at = new AliasThis(loc, ident);
at.comment = comment;
at.addComment(comment);
return at;
}

Expand Down
2 changes: 1 addition & 1 deletion dmd/aliasthis.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

/* Compiler implementation of the D programming language
* Copyright (C) 2009-2025 by The D Language Foundation, All Rights Reserved
* Copyright (C) 2009-2026 by The D Language Foundation, All Rights Reserved
* written by Walter Bright
* https://www.digitalmars.com
* Distributed under the Boost Software License, Version 1.0.
Expand Down
2 changes: 1 addition & 1 deletion dmd/argtypes.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

/* Compiler implementation of the D programming language
* Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* written by Walter Bright
* https://www.digitalmars.com
* Distributed under the Boost Software License, Version 1.0.
Expand Down
5 changes: 4 additions & 1 deletion dmd/argtypes_aarch64.d
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Break down a D type into basic (register) types for the AArch64 ABI.
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: Martin Kinkelin
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/argtypes_aarch64.d, _argtypes_aarch64.d)
Expand All @@ -11,10 +11,12 @@

module dmd.argtypes_aarch64;

import core.stdc.stdio;
import dmd.astenums;
import dmd.dsymbolsem : isPOD;
import dmd.mtype;
import dmd.typesem;
import dmd.expressionsem : toUInteger;

/****************************************************
* This breaks a type down into 'simpler' types that can be passed to a function
Expand All @@ -31,6 +33,7 @@ import dmd.typesem;
*/
TypeTuple toArgTypes_aarch64(Type t)
{
//printf("toArgTypes_aarch64() %s\n", t.toChars());
if (t == Type.terror)
return new TypeTuple(t);

Expand Down
7 changes: 6 additions & 1 deletion dmd/argtypes_sysv_x64.d
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Break down a D type into basic (register) types for the x86_64 System V ABI.
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: Martin Kinkelin
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/argtypes_sysv_x64.d, _argtypes_sysv_x64.d)
Expand All @@ -11,11 +11,13 @@

module dmd.argtypes_sysv_x64;

import core.stdc.stdio;
import dmd.astenums;
import dmd.declaration;
import dmd.dsymbolsem : isPOD;
import dmd.mtype;
import dmd.typesem;
import dmd.expressionsem : toInteger;
import dmd.target;
import dmd.visitor;

Expand Down Expand Up @@ -94,7 +96,10 @@ TypeTuple toArgTypes_sysv_x64(Type t)
Type.tfloat32;
}
else
{
debug printf("class: %d\n", c);
assert(0, "Unexpected class");
}
}

return N == 1
Expand Down
3 changes: 2 additions & 1 deletion dmd/argtypes_x86.d
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Break down a D type into basic (register) types for the 32-bit x86 ABI.
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/argtypes_x86.d, _argtypes_x86.d)
Expand All @@ -17,6 +17,7 @@ import core.checkedint;
import dmd.astenums;
import dmd.declaration;
import dmd.dsymbolsem : isPOD;
import dmd.expressionsem : toInteger;
import dmd.location;
import dmd.mtype;
import dmd.typesem;
Expand Down
5 changes: 2 additions & 3 deletions dmd/arrayop.d
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Specification: $(LINK2 https://dlang.org/spec/arrays.html#array-operations, Array Operations)
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/arrayop.d, _arrayop.d)
Expand All @@ -19,7 +19,6 @@ import dmd.astenums;
import dmd.dcast : implicitConvTo;
import dmd.declaration;
import dmd.dscope;
import dmd.dsymbol;
import dmd.errors;
import dmd.expression;
import dmd.expressionsem;
Expand All @@ -31,7 +30,7 @@ import dmd.location;
import dmd.mtype;
import dmd.common.outbuffer;
import dmd.tokens;
import dmd.typesem : isAssignable;
import dmd.typesem : isAssignable, nextOf, toBasetype;
import dmd.visitor;

/**********************************************
Expand Down
2 changes: 1 addition & 1 deletion dmd/arraytypes.d
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* Provide aliases for arrays of certain declarations or statements.
*
* Copyright: Copyright (C) 1999-2025 by The D Language Foundation, All Rights Reserved
* Copyright: Copyright (C) 1999-2026 by The D Language Foundation, All Rights Reserved
* Authors: $(LINK2 https://www.digitalmars.com, Walter Bright)
* License: $(LINK2 https://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
* Source: $(LINK2 https://github.com/dlang/dmd/blob/master/compiler/src/dmd/arraytypes.d, _arraytypes.d)
Expand Down
2 changes: 1 addition & 1 deletion dmd/arraytypes.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@

/* Compiler implementation of the D programming language
* Copyright (C) 2006-2025 by The D Language Foundation, All Rights Reserved
* Copyright (C) 2006-2026 by The D Language Foundation, All Rights Reserved
* written by Walter Bright
* https://www.digitalmars.com
* Distributed under the Boost Software License, Version 1.0.
Expand Down
Loading
Loading