Commit graph

40602 commits

Author SHA1 Message Date
Walter Bright
653658faad
neglected to generate code for cdeq() (#21090) 2025-03-27 07:20:05 +08:00
Abul Hossain Khan
ce91ddca22
Optimize Loc Lookups (#21088) 2025-03-27 03:32:01 +08:00
Nick Treleaven
13b0745e33
Fix error when struct initializer isn't accepted (#21086)
* Fix error when struct initializer isn't accepted

* Rename StructDeclaration.hasRegularCtor parameter to ignoreDisabled

checkDisabled detected disabled ctors when it was false, which was
confusing!

* Update tests
2025-03-26 11:28:07 +01:00
Dennis
3142290b6f
Improve 'no property' error suggestions for pointers (#21087) 2025-03-26 15:43:36 +08:00
Samrendra Pratap Singh
c26b03fba2
Fix dlang#18262 - Fix expected error message for enum auto-increment (#21067)
* Fix dlang#18262 - Resolved special enum case and other conflicts

* Fix dlang#18262 - Resolved Special Enum case and failing test.

* Fix dlang#18262 - Resolved special enum case and other failing tests
2025-03-25 18:25:34 +08:00
Martin Kinkelin
b390c7ec13 [druntime] core.int128: Add 64-bit mul() overload and optimize via inline asm on x86_64 2025-03-25 16:12:24 +08:00
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
Iain Buclaw
02a64d2e13
Fix #21045 - import __stdin causes compilation to pause while reading from stdin (#21047)
Moves the special handling of reading from stdin out of the semantic
routines to the DMD driver itself. All references to `__stdin.d` have
also been removed from the frontend implementation.
2025-03-22 13:00:35 +01: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 Korpel
032e24446b bump VERSION to v2.111.0-rc.1 2025-03-21 20:27:52 +01: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
Dennis
9d2f034398
Improve UFCS/property error message (#21046) 2025-03-21 15:15:29 +01:00
Walter Bright
803a44a347
2 more detail bugs (#21044) 2025-03-21 16:49:42 +08:00
Iain Buclaw
94950cae58
Add C++23 to CppStdRevision enum (#21043) 2025-03-21 08:29:14 +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
Martin Kinkelin
8db14cf846
Fix #21020 - Indexing a *cast* AA yields no lvalue anymore (#21029) 2025-03-19 07:15:23 +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
Martin Kinkelin
6d57da76e4
druntime: Add module declaration to rt.invariant, to prevent conflicts with user-provided invariant.d (#21017) 2025-03-18 07:42:46 +08:00
Walter Bright
49198f2983
overlooked necessary sign extension (#21021) 2025-03-18 07:15:32 +08:00
Martin Kinkelin
fde0f8c40a C++ headers: Add 3 Declaration bitfield setters/getters required by LDC 2025-03-17 15:30:21 +01:00
Iain Buclaw
7f22e651ed
[stable] C++ header fixes for declaration, expression, and typinf (#21016)
Seen either from compilation errors or missing symbols at link time.
2025-03-17 22:19:12 +08:00
Iain Buclaw
8c9769fef4
Expose SourceLoc to C++ interface (#20980) 2025-03-17 22:17:16 +08:00
Martin Kinkelin
d2ee11364c
druntime: Fix compilation of rt.cover on Android (#21015) 2025-03-17 15:06:24 +01: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