Skip to content

Commit 20d22b1

Browse files
authored
Merge pull request #4910 from kinke/merge_stable
Merge upstream stable
2 parents a312cb5 + f6eadc0 commit 20d22b1

File tree

6 files changed

+40
-5
lines changed

6 files changed

+40
-5
lines changed

CHANGELOG.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# LDC master
22

33
#### Big news
4-
- Frontend, druntime and Phobos are at version [2.111.0](https://dlang.org/changelog/2.111.0.html). (#4877)
4+
- Frontend, druntime and Phobos are at version [2.111.0+](https://dlang.org/changelog/2.111.0.html). (#4877, #4910)
55
- Keep frame pointers by default with `-O` for some targets, notably AArch64 (except Windows), x86_64 (except Windows and glibc Linux), Windows x86, and Android. This fixes druntime backtraces with optimized code (incl. prebuilt druntime/Phobos). (#4889)
66
- The prebuilt (non-musl) Linux packages are now generated on Ubuntu 22.04; the minimum glibc version has accordingly been raised from v2.31 to v2.35. (#4893)
77
- ldc2.conf: Arrays can now be appended to via the `~=` operator. (#4848, #4856)

dmd/expressionsem.d

+3-3
Original file line numberDiff line numberDiff line change
@@ -6984,10 +6984,10 @@ private extern (C++) final class ExpressionSemanticVisitor : Visitor
69846984
while (1)
69856985
{
69866986
AttribDeclaration ad = s.isAttribDeclaration();
6987-
if (!ad)
6988-
break;
6989-
if (ad.decl && ad.decl.length == 1)
6987+
if (ad && ad.decl && ad.decl.length == 1)
69906988
s = (*ad.decl)[0];
6989+
else
6990+
break;
69916991
}
69926992

69936993
//printf("inserting '%s' %p into sc = %p\n", s.toChars(), s, sc);

runtime/druntime/src/core/stdc/stdarg.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ else version (LDC)
317317
}
318318
else version (DigitalMars)
319319
{
320-
void va_end(va_list ap) {}
320+
void va_end()(va_list ap) {}
321321
}
322322

323323

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/*
2+
TEST_OUTPUT:
3+
---
4+
fail_compilation/test21247.d(13): Error: anonymous union can only be a part of an aggregate, not function `hang_dmd`
5+
fail_compilation/test21247.d(17): Error: undefined identifier `u`
6+
fail_compilation/test21247.d(18): Error: undefined identifier `b`
7+
fail_compilation/test21247.d(20): called from here: `hang_dmd(0u)`
8+
---
9+
*/
10+
// https://github.com/dlang/dmd/issues/21247
11+
ubyte[4] hang_dmd(uint a)
12+
{
13+
union {
14+
uint u = void;
15+
ubyte[4] b;
16+
}
17+
u = a;
18+
return b;
19+
}
20+
enum T = hang_dmd(0);
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/*
2+
TEST_OUTPUT:
3+
---
4+
fail_compilation/test21247b.d(10): Error: anonymous union can only be a part of an aggregate, not function `test21247`
5+
---
6+
*/
7+
// https://github.com/dlang/dmd/issues/21247
8+
void test21247()
9+
{
10+
union {
11+
uint u = void;
12+
ubyte[4] b;
13+
}
14+
}

tools/update-dmd-rewrite.sh

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ cat > message-filters.txt <<'EOF'
2727
regex:(^|\s|\()#(\d{2,})==>\1dlang/dmd!\2
2828
(cherry picked from commit 88d1e8fc37428b873f59d87f8dff1f40fbd3e7a3)==>(cherry picked from commit 8b9b481a322bdcbfdad38ba4ad74182742aef118)
2929
This reverts commit fa1f860e4be6a0d796a47329be110be14fc1d667==>This reverts commit 601bef533244166f1f114d424e6d3b3f8119d697
30+
This reverts commit 4b76bfcb2eb24bb8786bd293201a5711fbf747fe==>This reverts commit 601bef533244166f1f114d424e6d3b3f8119d697
3031
EOF
3132

3233
# clone DMD monorepo

0 commit comments

Comments
 (0)