Skip to content

Commit 4c001ba

Browse files
authored
Merge pull request #3141 from MartinNowak/merge_stable
merge stable Signed-off-by: Nicholas Wilson <thewilsonator@users.noreply.github.com> Merged-on-behalf-of: Iain Buclaw <ibuclaw@users.noreply.github.com>
2 parents b790f7a + 68dbedb commit 4c001ba

File tree

3 files changed

+176
-4
lines changed

3 files changed

+176
-4
lines changed

changelog/2.098.1_pre.dd

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
Ddoc
2+
3+
$(CHANGELOG_NAV_INJECT)
4+
5+
$(VERSION Dec 12, 2021, =================================================,
6+
7+
$(CHANGELOG_HEADER_STATISTICS
8+
$(VER) comes with 95 fixed Bugzilla issues.
9+
A huge thanks goes to the
10+
$(LINK2 #contributors, 18 contributors)
11+
who made $(VER) possible.)
12+
13+
$(CHANGELOG_SEP_HEADER_TEXT_NONEMPTY)
14+
15+
$(CHANGELOG_SEP_HEADER_TEXT)
16+
17+
$(CHANGELOG_SEP_TEXT_BUGZILLA)
18+
19+
$(BUGSTITLE_BUGZILLA DMD Compiler regression fixes,
20+
21+
$(LI $(BUGZILLA 20133): [REG2.084.0] Bogus slice assignment in recursive CTFE call)
22+
$(LI $(BUGZILLA 20236): spurious deprecation warnings on function calls within with$(LPAREN)X$(RPAREN) blocks while X has a deprecated alias this target)
23+
$(LI $(BUGZILLA 20860): OpDispatch does not work for structs with constructor and destructor)
24+
$(LI $(BUGZILLA 20998): error in static struct initialization causes wrong position for subsequent members, producing extra errors)
25+
$(LI $(BUGZILLA 21039): `alias this` returns 'null' for ref types when put into array initializer)
26+
$(LI $(BUGZILLA 21073): Rebindable does not work when class has alias this to inout property)
27+
$(LI $(BUGZILLA 21380): A case of compiler crash when using auto ref)
28+
$(LI $(BUGZILLA 21414): Spurious "non-constant expression" error with immutable constructors)
29+
$(LI $(BUGZILLA 21438): Compiler segfault on static array in a struct at CTFE)
30+
$(LI $(BUGZILLA 22004): [REG2.097] Error: mismatched function return type inference of `void` and `noreturn`)
31+
$(LI $(BUGZILLA 22151): Compiler crash when attempting to assign to function)
32+
$(LI $(BUGZILLA 22300): [REG 2.098-rc.2] `-checkaction=context` of a `shared` type with an `opCast` fails to compile)
33+
$(LI $(BUGZILLA 22385): CTFE fails to iterate over associative array previously indexed with implicit conversion to enum base type)
34+
$(LI $(BUGZILLA 22410): [REG2.094] function with tuple parameter with default argument fails if there's a qualifier)
35+
$(LI $(BUGZILLA 22420): [REG2.098] Apparent CTFE regression wrt. alias this)
36+
$(LI $(BUGZILLA 22472): Invalid error message for `void` return from non-`void` functions)
37+
$(LI $(BUGZILLA 22512): importC: incomplete array type must have initializer)
38+
$(LI $(BUGZILLA 22514): Invalid duplicate case error when the switched value has errors)
39+
$(LI $(BUGZILLA 22516): Segfault for function literal in struct initializer with previous errors)
40+
$(LI $(BUGZILLA 22529): wrong deprecation about empty statement)
41+
$(LI $(BUGZILLA 22570): more arguments than fields allowed in struct constructor)
42+
$(LI $(BUGZILLA 22584): importC: Error: undefined reference to 'parameter' when no parameter names in forward declaration)
43+
)
44+
$(BUGSTITLE_BUGZILLA DMD Compiler bug fixes,
45+
46+
$(LI $(BUGZILLA 16579): ReturnStatement[CallExp$(LPAREN)DotVarExp$(RPAREN)]: Corrupted runtime on missed manifest constant propagation)
47+
$(LI $(BUGZILLA 18054): Wrong cast of float constant to bool)
48+
$(LI $(BUGZILLA 19660): 'export' keyword on OSX/Linux globals causing segfaults)
49+
$(LI $(BUGZILLA 21093): [ICE] AssertError@dmd/optimize.d$(LPAREN)691$(RPAREN): Assertion failure)
50+
$(LI $(BUGZILLA 21794): Internal compiler assertion)
51+
$(LI $(BUGZILLA 21930): ICE $(LPAREN)illegal instruction$(RPAREN) with bad code)
52+
$(LI $(BUGZILLA 21950): cod1: Assertion failure for noreturn parameter)
53+
$(LI $(BUGZILLA 21952): ice for global / tls variable of type noreturn)
54+
$(LI $(BUGZILLA 21957): ice when dmd computes the alignment of an union containing a noreturn)
55+
$(LI $(BUGZILLA 22104): importC: Parser accepts arrays with incomplete element types)
56+
$(LI $(BUGZILLA 22315): ImportC: #pragma pack is not implemented)
57+
$(LI $(BUGZILLA 22323): Link error for virtual destructor of C++ class in DLL)
58+
$(LI $(BUGZILLA 22362): ImportC: error parsing compound literal with more than one value at function scope.)
59+
$(LI $(BUGZILLA 22375): importC: Error: C non-array initializer not supported yet)
60+
$(LI $(BUGZILLA 22376): importC: Error: cannot use non-constant CTFE pointer in an initializer)
61+
$(LI $(BUGZILLA 22388): Wrong overload selected for @safe delegate)
62+
$(LI $(BUGZILLA 22389): noreturn functions are allowed to return normally)
63+
$(LI $(BUGZILLA 22398): importC: Error: unknown, when compiling source with non-constant initializer.)
64+
$(LI $(BUGZILLA 22399): importC: Error: static variable cannot be read at compile time)
65+
$(LI $(BUGZILLA 22400): importC: Error: unknown, when compiling source with typedef'd initializer)
66+
$(LI $(BUGZILLA 22402): importC: Error: can't subtract '__tag2[1]' from pointer)
67+
$(LI $(BUGZILLA 22403): importC: Error: cannot pass argument '0' of type 'int' to parameter 'const$(LPAREN)char$(RPAREN)*')
68+
$(LI $(BUGZILLA 22405): importC: Error: cannot modify 'const' expression '$(LPAREN)*s$(RPAREN).field')
69+
$(LI $(BUGZILLA 22406): importC: Error: 'switch' statement without a 'default'; use 'final switch' or add 'default: assert$(LPAREN)0$(RPAREN);' or add 'default: break;')
70+
$(LI $(BUGZILLA 22407): importC: Error: cannot implicitly convert expression of type 'extern $(LPAREN)C$(RPAREN) int$(LPAREN)int a$(RPAREN)' to 'const$(LPAREN)extern $(LPAREN)C$(RPAREN) int function$(LPAREN)int$(RPAREN)$(RPAREN)')
71+
$(LI $(BUGZILLA 22409): importC: [ICE] Error: struct no size because of forward reference)
72+
$(LI $(BUGZILLA 22411): importC: Error: cannot implicitly convert expression of type 'const$(LPAREN)char*$(RPAREN)' to 'char*')
73+
$(LI $(BUGZILLA 22413): importC: Error: array index 0 is out of bounds)
74+
$(LI $(BUGZILLA 22422): ImportC: parse gnu attributes after a function parameter)
75+
$(LI $(BUGZILLA 22428): importC: static variables/functions emit global symbols)
76+
$(LI $(BUGZILLA 22432): ImportC: casting result of postfix operator on a parenthesized expression to a typedef’d type is parsed incorrectly)
77+
$(LI $(BUGZILLA 22461): OpenBSD: Use fmodl)
78+
$(LI $(BUGZILLA 22462): OpenBSD: bash lives in /usr/local)
79+
$(LI $(BUGZILLA 22463): OpenBSD: Allow DMD to work on 32-bit OpenBSD)
80+
$(LI $(BUGZILLA 22500): ImportC: Lots of errors when compiling tomlc99)
81+
$(LI $(BUGZILLA 22513): ImportC: address of member of struct can’t be taken at compile time.)
82+
$(LI $(BUGZILLA 22517): [REG 2.093][ICE] Bus error at dmd/lexer.d:398)
83+
$(LI $(BUGZILLA 22530): Explicit cast between classes incorrectly goes through 'alias this' inside CTFE)
84+
$(LI $(BUGZILLA 22534): ImportC: const pointer $(LPAREN)not pointer to const$(RPAREN) is treated as transitive const)
85+
$(LI $(BUGZILLA 22538): importC: function 'func' conflicts with function 'func' when using static in forward declaration)
86+
$(LI $(BUGZILLA 22549): importC: float literal should support leading zero)
87+
$(LI $(BUGZILLA 22560): ImportC: extra semicolon not allowed outside of functions)
88+
$(LI $(BUGZILLA 22573): DMD compiler errors on Illumos/Solaris)
89+
$(LI $(BUGZILLA 22577): ImportC: decay of function to typedef'd const function pointer causes ICE.)
90+
)
91+
$(BUGSTITLE_BUGZILLA DMD Compiler enhancements,
92+
93+
$(LI $(BUGZILLA 22474): OpenBSD: Add support to test/runnable/dhry.d)
94+
$(LI $(BUGZILLA 22475): OpenBSD: Disable test/compilable/cdcmp.d on OpenBSD)
95+
$(LI $(BUGZILLA 22476): OpenBSD: Add OpenBSD to the fail_compilation/fail21227_win.d ignore list)
96+
$(LI $(BUGZILLA 22477): OpenBSD: Add to fail_compilation/fail3753.d ignore list)
97+
$(LI $(BUGZILLA 22478): OpenBSD: Add to fail_compilation/invalid_lib.d)
98+
)
99+
$(BUGSTITLE_BUGZILLA Phobos regression fixes,
100+
101+
$(LI $(BUGZILLA 16705): [REG2.069] TaskPool.reduce fails to compile "cannot get frame pointer to D main")
102+
)
103+
$(BUGSTITLE_BUGZILLA Phobos bug fixes,
104+
105+
$(LI $(BUGZILLA 22458): OpenBSD: Add OpenBSD to std/system.d OS list)
106+
$(LI $(BUGZILLA 22487): Array!T.init.data crashes)
107+
)
108+
$(BUGSTITLE_BUGZILLA Phobos enhancements,
109+
110+
$(LI $(BUGZILLA 22393): OpenBSD: Add polyImpl implementation for x86)
111+
$(LI $(BUGZILLA 22488): data should work with const/immutable Array's)
112+
$(LI $(BUGZILLA 22511): Nullable is not copyable when templated type has elaborate copy ctor)
113+
$(LI $(BUGZILLA 22557): std.traits.fqnType is missing support for typeof$(LPAREN)null$(RPAREN))
114+
)
115+
$(BUGSTITLE_BUGZILLA Druntime regression fixes,
116+
117+
$(LI $(BUGZILLA 22210): std.meta.allSatisfy in mutual recursion classes cannot be compiled)
118+
$(LI $(BUGZILLA 22235): `core.demangle` does not support `noreturn`)
119+
)
120+
$(BUGSTITLE_BUGZILLA Druntime bug fixes,
121+
122+
$(LI $(BUGZILLA 21919): darwin: SEGV in core.thread tests on OSX 11)
123+
$(LI $(BUGZILLA 22416): Unify polyImpl implementations)
124+
$(LI $(BUGZILLA 22440): OpenBSD: Sync sysctl.d)
125+
$(LI $(BUGZILLA 22443): OpenBSD: Fix Fiber support by adding MAP_STACK)
126+
$(LI $(BUGZILLA 22453): OpenBSD: Add a dummy value for AI_V4MAPPED)
127+
$(LI $(BUGZILLA 22455): Remove useless conditional assignment of DISABLED_TESTS in posix.mak)
128+
$(LI $(BUGZILLA 22456): OpenBSD: timer_* functions don't exist on OpenBSD)
129+
$(LI $(BUGZILLA 22485): OpenBSD: Fix core.sys.openbsd.unistd imports)
130+
)
131+
$(BUGSTITLE_BUGZILLA Druntime enhancements,
132+
133+
$(LI $(BUGZILLA 22395): OpenBSD: Add more OpenBSD-specific function prototypes in string.d and unistd.d)
134+
$(LI $(BUGZILLA 22439): OpenBSD: Sync mman.d)
135+
$(LI $(BUGZILLA 22448): OpenBSD: Add OpenBSD-specific alloc and free function prototypes from stdlib.h)
136+
$(LI $(BUGZILLA 22454): OpenBSD: Add prototypes for pthread_np.h)
137+
$(LI $(BUGZILLA 22457): OpenBSD: enableDwarf in opApply in runtime.d)
138+
$(LI $(BUGZILLA 22542): Explicitly cast backtrace results to int)
139+
$(LI $(BUGZILLA 22545): OpenBSD: Always use system backtrace)
140+
)
141+
)
142+
$(D_CONTRIBUTORS_HEADER 18)
143+
$(D_CONTRIBUTORS
144+
$(D_CONTRIBUTOR Ate Eskola)
145+
$(D_CONTRIBUTOR Boris Carvajal)
146+
$(D_CONTRIBUTOR Brian Callahan)
147+
$(D_CONTRIBUTOR Dennis)
148+
$(D_CONTRIBUTOR dkorpel)
149+
$(D_CONTRIBUTOR Florian)
150+
$(D_CONTRIBUTOR Iain Buclaw)
151+
$(D_CONTRIBUTOR lucica28)
152+
$(D_CONTRIBUTOR Martin Kinkelin)
153+
$(D_CONTRIBUTOR Martin Nowak)
154+
$(D_CONTRIBUTOR Max Haughton)
155+
$(D_CONTRIBUTOR MoonlightSentinel)
156+
$(D_CONTRIBUTOR Per Nordlöw)
157+
$(D_CONTRIBUTOR Razvan Nitu)
158+
$(D_CONTRIBUTOR Tim Schendekehl)
159+
$(D_CONTRIBUTOR Tomoya Tanjo)
160+
$(D_CONTRIBUTOR Walter Bright)
161+
$(D_CONTRIBUTOR Ömer Faruk IRMAK)
162+
)
163+
$(D_CONTRIBUTORS_FOOTER)
164+
$(CHANGELOG_NAV_INJECT)
165+
166+
Macros:
167+
VER=2.098.1
168+
TITLE=Change Log: $(VER)

download.dd

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,10 +200,10 @@ Macros:
200200

201201
DMDV2=$(LATEST)
202202

203-
BETA=$(COMMENT $0)
204-
_=BETA=$0
205-
B_DMDV2=2.098.0
206-
B_SUFFIX=rc.1
203+
_=BETA=$(COMMENT $0)
204+
BETA=$0
205+
B_DMDV2=2.098.1
206+
B_SUFFIX=beta.1
207207

208208
DEB32=$(DLSITE dmd_$(DMDV2)-0_i386.deb)
209209
DEB64=$(DLSITE dmd_$(DMDV2)-0_amd64.deb)

spec/abi.dd

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ $(GNAME TypeX):
474474
$(GLINK TypeChar)
475475
$(GLINK TypeWchar)
476476
$(GLINK TypeDchar)
477+
$(GLINK TypeNoreturn)
477478
$(GLINK TypeNull)
478479
$(GLINK TypeTuple)
479480
$(GLINK TypeVector)
@@ -689,6 +690,9 @@ $(GNAME TypeWchar):
689690
$(GNAME TypeDchar):
690691
$(B w)
691692

693+
$(GNAME TypeNoreturn):
694+
$(B Nn)
695+
692696
$(GNAME TypeNull):
693697
$(B n)
694698

0 commit comments

Comments
 (0)