Commit graph

39655 commits

Author SHA1 Message Date
Dennis
34cf3a9503
Fix #20894 (#20895)
- pragma(msg) interprets printf format specifiers
2025-02-19 13:42:21 +08:00
Dennis Korpel
eb083c06d9 Fix #20859 - ICE: class with __vtbl field name causes segfault in Scope::inCfile 2025-02-16 23:45:36 +01:00
Dennis
72a9347165
Fix #18281 - ICE on attempt to compare deref of two functions ptr (#20768) 2025-01-24 07:32:18 +08:00
Dennis
ac9e8a5a70
Fix bypassing nothrow in debug statements (#20720)
* Fix bypassing nothrow in debug statements

* Fix debug walking null statements
2025-01-17 01:50:17 +01:00
Dennis
b237d0329c
Fix ambiguous type deduction around hex strings (#20679) 2025-01-10 23:35:51 +01:00
Iain Buclaw
d3f2ee3d8c bump VERSION to v2.110.0-rc.1 2025-01-08 15:08:09 +00:00
Martin Kinkelin
587a634b1f CI: Add extra Phobos tests (publictests and betterc make targets) 2024-12-08 10:21:15 +01:00
Ilya Yanok
c1343f69f3 Make lambda symbols stable post a3abf1187e
Commit a3abf1187e fixes some cases of
lambdas having unstable symbol names between compilation units by
using `generateIdWithLoc` to generate stable lambda names, however since
LOC doesn't uniquely identify a lambda instance (because templates,
mixins, static foreach and foreach unrolling), `generateIdWithLoc`
adds a counter, so there is still some instability going on.

`generateIdWithLoc` makes the name uniq per file+loc, by adding adding a
numeric suffix. But the order of instantiations might be different
across compilation units, so with this counting scheme we are back to
unstable names, so one module might have

`t!0.__lambda_LOC` and
`t!1.__lambda_LOC_1`

while another one has

`t!1.__lambda_LOC`

This is not a critical problem, but at very least the code gets
duplicated for no reason. I also have an example where it leads to
linking error, but since it's not a small one and fails to minimize
further, I suspect it's a result of interaction with some other bug.

The thing is we don't even need uniqueness for those lambdas inside
templates/mixins: their final names will have the instantiation prefix anyway.
But we can't also just disable this uniqueness check completely: `static
foreach` as well as unrollings of the normal `foreach` with lambdas in
the loop body will have several copies of a single lambda with the same
file+loc. So here we do want to keep making them unique. Fortunately, I
don't think a `foreach` could be iterated in different order in
different compilation units, so hopefully if we limit the counting to
this case only, it won't make symbols unstable.

To implement this idea, I've added an extra `parent` argument to
`generateIdWithLoc`: it works like using `parent ~ prefix` prefix, but
without adding `parent` to the final output.

Fixes since last review:
 1. Changed `fromStringz` to `toDString`
 2. Added a test to showcase the problem
2024-12-07 10:48:34 +01:00
Richard (Rikki) Andrew Cattermole
6567f6f4a4 Fix bugzilla issue 24882 - COM class is allocated using GC not malloc 2024-11-29 08:37:07 +01:00
Dennis Korpel
8b1eb80d25 Fix bugzilla 24884 - backend generates wrong 32-bit code after inlining math with double[4] 2024-11-29 08:35:16 +01:00
Dennis
a3abf1187e
Fix 23722 - Lambdas are mangled incorrectly when using multiple compi… (#15343)
* Fix 23722 - Lambdas are mangled incorrectly when using multiple compilation units, resulting in incorrect code

* Update test cases
2024-11-27 12:03:16 +01:00
Paul Backus
4c645bbaf9 Fix Bugzilla 24872 - Assigning non-copyable value to array has no effect 2024-11-23 05:51:02 +08:00
Martin Kinkelin
c58e2a766b compilable/stdcheaders.c: Work around unsupported NAN in new WinSDK headers
GitHub Actions upgraded the WinSDK in the latest image, and its NAN is
apparently not supported by ImportC anymore, breaking CI.
2024-11-16 22:08:33 +01:00
Martin Kinkelin
3aaf7bf222
GitHub Actions: Bump macos-12 jobs to macos-13 (#17063)
As the macos-12 image will be 'fully unsupported' starting with December 3rd:
https://github.com/actions/runner-images/issues/10721
2024-11-14 03:46:12 +01:00
Richard (Rikki) Andrew Cattermole
a7c85ec3be Fix bugzilla issue 24846 - atomicLoad does not work for class arguments with -preview=nosharedaccess 2024-11-11 05:39:57 +08:00
Richard (Rikki) Andrew Cattermole
b11b3f3bfa Fix bugzilla issue 24841 - UTF-16 surrogates when used as an escape of a string should hint on error 2024-11-03 19:30:53 +08:00
Dennis
2a63416b43 Bugzilla 24700 - Don't search for mscoff .dp$B section over and over (#16780)
(cherry picked from commit 67227f03e0)
2024-10-25 03:06:54 +02:00
Walter Bright
735193cc36 fix bugzilla Issue 24819 - Optimizer changes result of float calculations on 32-bit (#17023)
(cherry picked from commit 88d1e8fc37)
2024-10-25 01:47:41 +02:00
Dennis
d0eb6bb659
Fix bugzilla 24832 - Segfault in hex string (#17024)
* Fix bugzilla 24832 - Segfault in hex string

* Fix lack of camelcasing on stable branch
2024-10-24 19:45:57 +02:00
Nicholas Wilson
b97828fef4
Fix bugzilla issue 24812 - Incorrect highlighting when diagnosing an empty enum declaration (#17004) 2024-10-14 13:03:17 +02:00
Nicholas Wilson
e093a6f8be [importc.h] #define __typeof__ typeof 2024-10-07 17:15:21 +08:00
Dennis
3f48f53e27
Fix bugzilla 24431 - dmd -vcg-ast crashes printing failed template in… (#16916) 2024-10-04 07:47:09 +08:00
Dennis
e0259d92e7
Fix bugzilla 24764 - ICE when -vcg-ast prints imported invariant (#16917)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2024-10-03 13:47:19 +02:00
Dennis
f420f988ab
Fix bugzilla 24790 - -vcg-ast ICE on lowered assign exp (#16914)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2024-10-03 13:46:41 +02:00
RazvanN7
219b4f07e4 Fix Bugzilla Issue 24760 - ICE on variadic after default argument 2024-09-12 10:10:24 +02:00
Dennis
96d630c644
Fix bugzilla 24731 - IFTI cannot handle integer expressions (#16822) 2024-08-31 21:20:35 +08:00
Dennis Korpel
636f4d3ba2 Fix bugzilla 24699 - [REG2.108] No short-circuit evaluation of mixing template bool argument 2024-08-15 00:47:47 +02:00
Dennis
e643a07ebc
Also make deprecationSupplemental adhere to error limit (#16779)
Co-authored-by: Dennis Korpel <dennis@sarc.nl>
2024-08-13 23:23:09 +02:00
RazvanN7
29a34181da Fix Bugzilla Issue 24687 - [REG2.110] Cannot cast string-imports to select overload anymore 2024-08-06 02:07:42 +02:00
Martin Kinkelin
5ca459303e [refactor to TargetC.contributesToAggregateAlignment(BitFieldDeclaration) hook] 2024-07-31 21:36:57 +08:00
Martin Kinkelin
76a48f3dac Add BitFieldStyle.Gcc_Clang_ARM
Required for 32-bit ARM, and non-Apple 64-bit ARM targets.

The only difference to `Gcc_Clang` is that anonymous and 0-length
bit-fields do contribute to the aggregate alignment.

Caught by existing proper C interop tests in
runnable_cxx/testbitfields.d on such targets. The hardcoded bad tests
in runnable/{bitfieldsposix64.c,dbitfieldsposix64.d} however now fail
after the fix, on such targets again.
2024-07-31 21:36:57 +08:00
Dennis
cf618a659c
Fix bugzilla 24337 - Segfault when printing an int[] cast from a string (#16729) 2024-07-22 11:00:31 +03:00
Dennis
4636872033
Remove redundant suggestions on linker errors (#16711) 2024-07-16 14:22:02 +03:00
Richard (Rikki) Andrew Cattermole
48a88837b8
Reorganize backend build files to match target and make more similar per line (#16672) 2024-07-08 10:00:50 +08:00
Martin Kinkelin
7ab98b931a
Fix Bugzilla 24599 - Wrongly elided TypeInfo emission (#15868)
Reverting #14844, which caused such missing TypeInfos, *and* making
sure the special TypeInfo members are fully analyzed and ready for
codegen (otherwise hitting an assertion for the real-world project).
2024-07-02 19:31:34 +02:00
Richard (Rikki) Andrew Cattermole
6a8ce7c32a
Document template instance duplication status as part of its field documentation. (#16643) 2024-07-02 08:34:27 +08:00
Iain Buclaw
0449f297ca bump VERSION to v2.110.0-beta.1 2024-07-01 22:51:28 +00:00
Iain Buclaw
8004e18dac Merge remote-tracking branch 'upstream/master' into stable 2024-07-01 22:50:27 +00:00
The Dlang Bot
66b93fc24a
Merge pull request #16642 from ibuclaw/merge_stable
merge stable

Signed-off-by: Nicholas Wilson <thewilsonator@users.noreply.github.com>
Merged-on-behalf-of: Nicholas Wilson <thewilsonator@users.noreply.github.com>
2024-07-01 16:52:47 +02:00
RazvanN7
eff11668cb Extract mtype.Type.implicitConvTo and move it to dcast.d 2024-07-01 16:14:28 +02:00
Iain Buclaw
3c5d12bd1f Merge remote-tracking branch 'upstream/stable' into merge_stable 2024-07-01 13:58:42 +00:00
0v0
2700b86566
reduce duplicative code (#16640) 2024-07-01 11:47:17 +03:00
Iain Buclaw
26564a666f purge changelog 2024-07-01 05:16:23 +00:00
Dennis Korpel
25f26e2bdf Treat import("file") as hex string 2024-07-01 01:21:36 +02:00
Johan Engelen
0c8e5b10a4 Remove never used functions from unwind.d
Note the X86_64 typo. These functions are never used in druntime, and if the typo is fixed, it adds two unused function _definitions_ to druntime. Let's not do that, and instead remove these function definitions all-together.
2024-06-30 23:17:53 +02:00
Iain Buclaw
a914584d8d bump VERSION to v2.109.1 2024-06-30 16:27:32 +00:00
Johan Engelen
b5130fd880 Fix bugzilla issue 24623 followup.
Rename CppRuntime to _LLVM and _GNU
Also accept c++ for cxx in target string.
2024-06-30 13:45:31 +02:00
Walter Bright
748bc7d8ad
add disasm support for stp/ldp (#16637) 2024-06-29 22:06:06 -07:00
Walter Bright
0b4f53e1d5 add sections to disasmarm.d 2024-06-30 04:45:18 +02:00
0v0
6951a7471e
refactor variable declarations to use auto (#16632) 2024-06-29 17:00:51 +02:00