Commit graph

40478 commits

Author SHA1 Message Date
Walter Bright
6c160b78d5 fix cdpost() 2025-03-25 16:12:03 +08:00
Walter Bright
2c8d214650 AArch64 cannot compare shorts directly 2025-03-25 16:11:13 +08:00
Walter Bright
8c4a95f083 add has to be in addition to fixup 2025-03-24 16:27:16 +08:00
Martin Kinkelin
6b7bbdd330 [druntime] core.int128: Optimize new udivmod overload via inline asm on x86_64 2025-03-24 14:43:17 +08:00
Martin Kinkelin
3a661c1f8c [druntime] core.int128: Extract nested udivmod128_64 as udivmod overload 2025-03-24 14:43:17 +08:00
Martin Kinkelin
ea4b1e9607 [druntime] core.int128: Don't support/test invalid shift-by values >= 128
This enables using (LLVM/gcc) intrinsics for shifts, for which such
inputs are undefined behavior, as for builtin types.
2025-03-24 14:43:17 +08:00
Walter Bright
f4da0efbd2
add target.isAArch64 to e2ir.d (#21074) 2025-03-24 14:42:27 +08:00
Walter Bright
63152e453c
AArch64 doesn't have LEA instruction, so use pointers instead of Effective Address (#21072) 2025-03-24 13:46:53 +08:00
Abhay Pratap
2036516c17
Refactored memcpy calls to D slices (#21062)
* Refactored memcpy calls to D slices

* Added .DS_Store to .gitignore
2025-03-24 07:12:13 +08:00
Nick Treleaven
e896b5c98d
Fix hidden base constructor supplemental message (#21069)
Fixes #21068.
Also say base class *constructor* in supplemental message.
2025-03-24 05:47:29 +08:00
Walter Bright
c4d45a1a49
AArch64 does not have LEA, fake it (#21064) 2025-03-23 12:25:05 +08:00
Dennis
0ae065db22
Fix #20901: can escape stack pointer through indexed array literal (#21063) 2025-03-23 08:35:43 +08:00
Dennis
53024b9fc5
Don't raise "cannot return non-void" on Terror (#21028) 2025-03-23 07:40:57 +08:00
Dennis
90e1a584b5
Refactor checkGC (#21058) 2025-03-23 06:08:04 +08:00
Dennis
7fb4d613af
Use errorSupplemental for long errors with 2 sentences (#21060) 2025-03-23 06:03:20 +08:00
Dennis
31bfe613b0
Require adjacent auto ref return as well (#21061) 2025-03-23 05:59:00 +08:00
Dennis
8a96c4745c
Fix #21054 - No location for array literal sliced from init symbol (#21055) 2025-03-22 16:26:49 +08:00
Walter Bright
14874cffd8
more common subexpression bugs (#21056) 2025-03-22 16:26:00 +08:00
Dennis
dce0ebac9b
Fix #21052 - Missing @nogc check for enum variable initialization (#21053) 2025-03-22 07:40:34 +08:00
Dennis
649223bff5
Remove redundant GC allocation for _d_newarraymTX.dims (#21051) 2025-03-22 06:36:00 +08:00
Walter Bright
8d7c4d6227
bug in cddivass() (#21050) 2025-03-21 14:15:57 -07:00
Dennis
d5db322fce
Merge stable (#21048)
* bump VERSION to v2.110.0

* purge changelog

* bump VERSION to v2.111.0-beta.1

* Accept __rvalue attribute on ref functions; which will force the result to be treated as __rvalue. (#20946)

This is essential to implement `move`, `forward`, etc.

* memoryerror.d: Fix AnySupported version condition (#20983)

* Fix #20982 - wrong line number in iasmgcc (#20993)

* Move genCfunc to cxxfrontend (#20992)

* druntime: Fix compilation of rt.cover on Android (#21015)

* Expose SourceLoc to C++ interface (#20980)

* [stable] C++ header fixes for declaration, expression, and typinf (#21016)

Seen either from compilation errors or missing symbols at link time.

* C++ headers: Add 3 Declaration bitfield setters/getters required by LDC

* druntime: Add module declaration to rt.invariant, to prevent conflicts with user-provided invariant.d (#21017)

* Fix #21020 - Indexing a *cast* AA yields no lvalue anymore (#21029)

* Add C++23 to CppStdRevision enum (#21043)

* Improve UFCS/property error message (#21046)

---------

Co-authored-by: Manu Evans <turkeyman@gmail.com>
Co-authored-by: Martin Kinkelin <kinke@users.noreply.github.com>
Co-authored-by: Iain Buclaw <ibuclaw@gdcproject.org>
Co-authored-by: Martin Kinkelin <noone@nowhere.com>
2025-03-21 15:48:21 +01:00
Walter Bright
803a44a347
2 more detail bugs (#21044) 2025-03-21 16:49:42 +08:00
Abul Hossain Khan
dafb58bc77
Fix: Prevent ICE on final switch forward referencing its enum (#21001)
* Fix: Prevent ICE on final switch forward referencing its enum

* more simpler approach

* moved the enum member analysis

* Move enum number analysis to sementic2

* WhiteSpace Remove

* Remove Redundant Code in enumsem
2025-03-20 16:43:37 +01:00
Walter Bright
49a7c10bdf
arguments swapped for loadFromEA() (#21040) 2025-03-20 16:07:57 +08:00
Walter Bright
996de2ad3a
wrong register mask for cssave() (#21037) 2025-03-20 16:03:47 +08:00
Nayaab Zameer
cfefcdd657
Remove Unused RTLSYMs from DMD (#21032)
* Remove RTLSYM for Translation PR #15819: Removed NEWARRAYMITX, NEWARRAYMITX, TRACENEWARRAYMTX and TRACENEWARRAYMITX

* Remove RTLSYM for Translation PR #15299: Removed NEWARRAYT, NEWARRAYIT, TRACENEWARRAYT and TRACENEWARRAYIT

* Remove RTLSYM for Translation PR #14837: Removed NEWCLASS, TRACENEWCLASS

* Remove RTLSYM for Translation PR #14664: Removed NEWITEMT, NEWITEMIT, TRACENEWITEMT and TRACENEWITEMIT

* Remove RTLSYM for Translation PR #14550: Removed ARRAYCATNTX, ARRAYCATT, TRACEARRAYCATNTX and TRACEARRAYCATT

* Remove RTLSYM for Translation PR #14382: Removed ARRAYSETASSIGN

* Remove RTLSYM for Translation PR #14310: Removed ARRAYASSIGN

* Remove RTLSYM for Translation PR #13495: Removed ARRAYAPPENDT, ARRAYAPPENDCTX, TRACEARRAYAPPENDT and TRACEARRAYAPPENDCTX
2025-03-19 14:03:09 +08:00
Dennis
62a48a55e3
Move ImportC enum semantic to importc.d (#21027)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2025-03-18 21:54:40 +08:00
Shivang Shukla
a7e2b2e17b
Refactor: Remove Unused Hooks in dinterpret.d (#21022)
- Removed references to _d_arrayappendcTX, _d_newThrowable, and _d_arrayappendT.
- Ensured test cases pass after deletion.
- Left _d_arrayctor and _d_arraysetctor untouched for future semantic phase changes.
2025-03-18 16:39:32 +08:00
Walter Bright
5caf886afb
flags not set by complement instruction (#21026) 2025-03-18 16:06:37 +08:00
Abul Hossain Khan
8663b6dcdc
Fix : Improved error message on override mismatch (#21023) 2025-03-18 08:28:57 +08:00
Walter Bright
49198f2983
overlooked necessary sign extension (#21021) 2025-03-18 07:15:32 +08:00
Nayaab Zameer
a4cbc08f5b
Remove unused RTLSYM.NEWARRAYMTX (#21011) 2025-03-17 17:04:02 +08:00
Walter Bright
0312e82726
it is IFL1 not IFL2 (#21010) 2025-03-16 23:43:33 -07:00
Paul Backus
7c95446800
Don't parse lambda as UDA without parentheses (#21009)
This brings the compiler's behavior in line with the language spec.

Fixes dlang/dlang.org#4137
2025-03-17 08:31:39 +08:00
Walter Bright
726c50e5bd
load sign extended bytes (#21004)
* carith() function in exe1.c tests

* load sign extended bytes
2025-03-16 09:33:19 -07:00
Abul Hossain Khan
cf2674f689
Fix #20075 - Improve error message for immutable constructor type mismatch (#20990) 2025-03-16 08:00:27 +08:00
Dennis
92f9f997ba
Improve Fix #20318 Compiler should explain why implicit conversion to mutable fails (#21003) 2025-03-16 07:57:51 +08:00
Walter Bright
7d3293c45d
carith and more branch logic (#21002)
* carith() function in exe1.c tests

* more branch logic
2025-03-15 15:33:30 -07:00
Walter Bright
142d509af2
get branches to block working (#20996)
* carith() function in exe1.c tests

* get branches to blocks working
2025-03-15 16:27:52 +08:00
Dennis
2408ac30e9
Reset global Loc table in initDMD (#20995) 2025-03-15 16:23:37 +08:00
Abul Hossain Khan
6476cebd44
Fix #20318 Compiler should explain why implicit conversion to mutable fails (#20984) 2025-03-14 19:09:40 +08:00
Walter Bright
49dc576b9d
more common subexpression implementation (#20988) 2025-03-14 15:15:48 +08:00
Walter Bright
1e75778d19
progress on dealing with common subexpressions (#20987) 2025-03-13 22:38:53 -07:00
Abul Hossain Khan
35f1146a1b
Fixes the invariant not called on extern(C++) classes issue (#20981) 2025-03-13 18:36:45 +08:00
Nicholas Wilson
c5ba78dc34
fixup mtype.h for #20946 (#20971) 2025-03-13 07:22:15 +08:00
Walter Bright
d09d7689b6
fix tyToExtend() (#20979) 2025-03-12 09:02:00 -07:00
Matthew Qiu
aafe4f954b
Extracted Condition.include to visitor in expressionsem (#20977) 2025-03-12 07:33:53 +08:00
Richard (Rikki) Andrew Cattermole
6da6066bf1
Fix dub file for dscanner (#20978) 2025-03-12 07:29:09 +08:00
Albert24GG
9a8302a941
Fix #17481 - free ctors before returning (#20975) 2025-03-11 08:30:29 +08:00