@@ -5,9 +5,9 @@ $(CHANGELOG_NAV_INJECT)
5
5
$(VERSION Nov 14, 2022, =================================================,
6
6
7
7
$(CHANGELOG_HEADER_STATISTICS
8
- $(VER) comes with 40 major changes and 64 fixed Bugzilla issues.
8
+ $(VER) comes with 40 major changes and 209 fixed Bugzilla issues.
9
9
A huge thanks goes to the
10
- $(LINK2 #contributors, 63 contributors)
10
+ $(LINK2 #contributors, 72 contributors)
11
11
who made $(VER) possible.)
12
12
13
13
$(BUGSTITLE_TEXT_HEADER Compiler changes,
@@ -870,12 +870,160 @@ $(CHANGELOG_SEP_TEXT_BUGZILLA)
870
870
871
871
$(BUGSTITLE_BUGZILLA DMD Compiler regression fixes,
872
872
873
+ $(LI $(BUGZILLA 20809): return statement might access memory from destructed temporary)
874
+ $(LI $(BUGZILLA 21197): Wrong lifetime inference with DIP1000 in dmd 2.093.0)
875
+ $(LI $(BUGZILLA 23019): Missing filename when -of points to an existing directory)
876
+ $(LI $(BUGZILLA 23076): SIMD assert fail with -inline -O converting float to short)
877
+ $(LI $(BUGZILLA 23247): Deprecation: argument 0.0L for format specification "%La" must be double, not real)
878
+ $(LI $(BUGZILLA 23271): `goto` skips declaration of variable `bugred.A.test.__appendtmp4`)
873
879
$(LI $(BUGZILLA 23291): Members of arrays of shared classes cannot be compared)
880
+ $(LI $(BUGZILLA 23337): Wrongly elided postblit/copy ctor for array construction $(LPAREN)_d_arrayctor lowering$(RPAREN))
881
+ $(LI $(BUGZILLA 23386): Segfault on enum member UDA inside template)
882
+ $(LI $(BUGZILLA 23431): [REG 2.101.0][ICE] Segmentation fault in Dsymbol::toParent$(LPAREN)$(RPAREN) $(LPAREN)this=0x0$(RPAREN) at dmd/dsymbol.d:561)
883
+ $(LI $(BUGZILLA 23433): [REG 2.081][ICE] Segmentation fault in dmd.blockexit.checkThrow at at src/dmd/blockexit.d:557)
884
+ $(LI $(BUGZILLA 23439): [REG 2.098] Error: CTFE internal error: literal 'assert$(LPAREN)false, "Accessed expression of type noreturn"$(RPAREN)')
874
885
)
875
886
$(BUGSTITLE_BUGZILLA DMD Compiler bug fixes,
876
887
888
+ $(LI $(BUGZILLA 2): Hook up new dmd command line arguments)
889
+ $(LI $(BUGZILLA 9161): Linker error on linux if struct has @disabled ~this$(LPAREN)$(RPAREN);)
890
+ $(LI $(BUGZILLA 13123): Disallow throwing contracts for nothrow functions)
891
+ $(LI $(BUGZILLA 13732): Regular templates can use "template this", and they allow any type to be passed)
892
+ $(LI $(BUGZILLA 14694): Functions nested within functions need their body in the generated .di file)
893
+ $(LI $(BUGZILLA 15525): SEGV running semantic analysis on non-root decl that has errors.)
894
+ $(LI $(BUGZILLA 16575): [ICE] extern$(LPAREN)C++$(RPAREN) function with D specific types)
895
+ $(LI $(BUGZILLA 17764): [scope][DIP1000] Escape checker defeated by composition transformations)
896
+ $(LI $(BUGZILLA 18973): @disable on const toHash causes unresolved symbol error)
897
+ $(LI $(BUGZILLA 19178): Static initialization of 2d static arrays in structs produces garbage or doesn't compile sometimes)
898
+ $(LI $(BUGZILLA 19285): false positive GC inferred)
899
+ $(LI $(BUGZILLA 20365): Copy constructor not invoked on static arrays of structs but the postblit works)
900
+ $(LI $(BUGZILLA 20823): [DIP 1000] un-@safe code fails with dip1000)
901
+ $(LI $(BUGZILLA 21314): ICE on extern$(LPAREN)c++$(RPAREN) static class variables)
902
+ $(LI $(BUGZILLA 21416): betterC mode program with C++ interface fails to link)
903
+ $(LI $(BUGZILLA 21432): [CTFE] Cannot declare enum array in function scope)
904
+ $(LI $(BUGZILLA 21477): TypeInfo errors in betterC are cryptic)
905
+ $(LI $(BUGZILLA 21676): [ICE][SIMD] DMD crashing with SIMD + optimizations + inlining)
906
+ $(LI $(BUGZILLA 21956): ice on foreach over an AA of noreturn)
907
+ $(LI $(BUGZILLA 22108): DIP1000 parameter mistakenly interpreted as return scope instead of scope)
908
+ $(LI $(BUGZILLA 22134): Deprecate returning a discarded void value from a function)
909
+ $(LI $(BUGZILLA 22351): extern$(LPAREN)C++$(RPAREN) function contravariant in D, but not C++)
910
+ $(LI $(BUGZILLA 22390): Compiler crash when iterating empty array of bottom types)
911
+ $(LI $(BUGZILLA 22429): importC: designator-list not supported yet)
912
+ $(LI $(BUGZILLA 22610): ImportC: 3 extra initializer$(LPAREN)s$(RPAREN) for struct __tag21)
913
+ $(LI $(BUGZILLA 22626): Can't use synchronized member functions with -nosharedaccess)
914
+ $(LI $(BUGZILLA 22652): importC: Braceless initializer of nested struct is rejected.)
915
+ $(LI $(BUGZILLA 22664): Disassembler mistakes rdtscp for invlpg ECX)
916
+ $(LI $(BUGZILLA 22674): ImportC: compatible types declared in different translation units are not treated equivalent in D.)
917
+ $(LI $(BUGZILLA 22680): @safe hole with destructors)
918
+ $(LI $(BUGZILLA 22706): Bad error on explicit instantiation of function template with auto ref parameter)
919
+ $(LI $(BUGZILLA 22724): ImportC: VC extension __pragma$(LPAREN)pack$(RPAREN) is not implemented)
920
+ $(LI $(BUGZILLA 22784): pragma$(LPAREN)printf$(RPAREN) applies to nested functions)
921
+ $(LI $(BUGZILLA 22865): __traits$(LPAREN)compiles$(RPAREN) affects inferrence of attributes)
922
+ $(LI $(BUGZILLA 22875): importC: cannot assign const typedef with pointers to non-const one)
923
+ $(LI $(BUGZILLA 22925): importC: multi-dimensional array is not a static and cannot have static initializer)
924
+ $(LI $(BUGZILLA 22952): Compiler fails to find package.d modules via -mv map)
925
+ $(LI $(BUGZILLA 22973): importC: sizeof with array and pointer access gives array type has incomplete element type)
926
+ $(LI $(BUGZILLA 23006): importC: dmd segfaults on static initializer for multi-dimensional array inside struct)
927
+ $(LI $(BUGZILLA 23007): importC: dmd segfaults for extra braces in array initializer)
928
+ $(LI $(BUGZILLA 23009): [CODEGEN][SIMD] SIMD + optimizations + inlining + double)
929
+ $(LI $(BUGZILLA 23010): mixed in aliaseqs used as type dont initualize)
930
+ $(LI $(BUGZILLA 23012): importC: asm label to set symbol name not applied from forward declaration)
931
+ $(LI $(BUGZILLA 23018): importC: syntax error for sizeof with postfix operator on parenthesized expression)
932
+ $(LI $(BUGZILLA 23022): [dip1000] typesafe variadic parameter should not infer return)
933
+ $(LI $(BUGZILLA 23027): ImportC: Array of struct is not a static and cannot have static initializer)
934
+ $(LI $(BUGZILLA 23030): importC: errors using typedef struct after first use as const)
935
+ $(LI $(BUGZILLA 23037): importC: type with only type-qualifier doesn't work)
936
+ $(LI $(BUGZILLA 23038): importC: sizeof inside struct has struct members in scope)
937
+ $(LI $(BUGZILLA 23039): importC: declaration with array length has itself in scope)
938
+ $(LI $(BUGZILLA 23042): -betterC still includes RTInfo)
939
+ $(LI $(BUGZILLA 23044): importC: comma expression with function call parsed as declaration)
940
+ $(LI $(BUGZILLA 23045): importC: casted function type is missing extern$(LPAREN)C$(RPAREN))
941
+ $(LI $(BUGZILLA 23047): [ICE][SIMD] Do not SROA vector types)
942
+ $(LI $(BUGZILLA 23050): Incorrect disassembly of code with -vasm and 0xBE and 0xBF opcodes)
943
+ $(LI $(BUGZILLA 23054): importC: struct compound-literal assigned by pointer has wrong storage duration)
944
+ $(LI $(BUGZILLA 23056): importC: dmd asserts for missing return statement in CTFE function)
945
+ $(LI $(BUGZILLA 23057): importC: dmd segfault on invalid syntax)
946
+ $(LI $(BUGZILLA 23063): It is possible to return a noreturn value)
947
+ $(LI $(BUGZILLA 23068): [betterC] BetterC does not respect -checkaction=halt)
948
+ $(LI $(BUGZILLA 23073): [dip1000] scope inference from pure doesn't consider self-assignment)
949
+ $(LI $(BUGZILLA 23088): spurious case of "`expression` has no effect")
950
+ $(LI $(BUGZILLA 23105): `__trait$(LPAREN)getMember$(RPAREN)` and `mixin$(LPAREN)$(RPAREN)` of the same code as a string behave differently)
951
+ $(LI $(BUGZILLA 23112): code passes @nogc, allocates anyway)
952
+ $(LI $(BUGZILLA 23123): -vasm wrong result for cmpxchg16b)
953
+ $(LI $(BUGZILLA 23135): Covariance rules for C++ member functions mismatch D)
954
+ $(LI $(BUGZILLA 23138): Overrides of member functions of an inherited class ignores attribute "downcast")
955
+ $(LI $(BUGZILLA 23159): [betterC] scope$(LPAREN)failure$(RPAREN) use in betterC gives confusing error)
956
+ $(LI $(BUGZILLA 23167): inaccurate diagnostic for internal tuple bound violation)
957
+ $(LI $(BUGZILLA 23168): [DIP1000] return scope wrongly rewritten for structs with no indirections)
958
+ $(LI $(BUGZILLA 23169): [DIP1000] Mangling does not distinguish return and return scope)
959
+ $(LI $(BUGZILLA 23173): "Error: signed integer overflow" for compiler generated string of `long.min`)
960
+ $(LI $(BUGZILLA 23174): Can't alias tuple when it's part of dot expression following a struct literal)
961
+ $(LI $(BUGZILLA 23176): -vasm misses immediates for some SSE2 instructions)
962
+ $(LI $(BUGZILLA 23178): Unknown error using alias to `__traits` evaluated as expression)
963
+ $(LI $(BUGZILLA 23192): Can't iterate aggregate fields with static foreach inside a member function)
964
+ $(LI $(BUGZILLA 23205): Can't declare mixin template inside a function)
965
+ $(LI $(BUGZILLA 23206): ImportC: __declspec$(LPAREN)noreturn$(RPAREN) does not compile)
966
+ $(LI $(BUGZILLA 23207): dmd hangs compiling druntime/src/core/stdc/errno.c)
877
967
$(LI $(BUGZILLA 23213): ImportC - variable length array does not compile)
968
+ $(LI $(BUGZILLA 23214): ImportC: typedef with unsigned types does not compile)
969
+ $(LI $(BUGZILLA 23217): ImportC: extra initializer$(LPAREN)s$(RPAREN) error for array of structs)
970
+ $(LI $(BUGZILLA 23222): vcg-ast segfaults on aliases to parent module)
971
+ $(LI $(BUGZILLA 23223): Aliases to modules print the modules contents into ast dump)
972
+ $(LI $(BUGZILLA 23224): ImportC: memory model switch is not passed to C preprocessor)
973
+ $(LI $(BUGZILLA 23225): OpenBSD: cpp invocation cannot find files)
974
+ $(LI $(BUGZILLA 23230): cannot implicitly convert expression define of type char[7] to char)
975
+ $(LI $(BUGZILLA 23235): [DIP1000] typesafe variadic parameters should automatically be scope)
976
+ $(LI $(BUGZILLA 23236): can't initialize a @mustuse member in constructor)
977
+ $(LI $(BUGZILLA 23241): __traits getMember breaks compilation when hit an alias)
978
+ $(LI $(BUGZILLA 23249): Deprecation: argument &p for format specification "%m" must be char*, not char**)
979
+ $(LI $(BUGZILLA 23251): Deprecation: format specifier "%[a-z]" is invalid)
980
+ $(LI $(BUGZILLA 23252): Deprecation: format specifier "%[]]" is invalid)
981
+ $(LI $(BUGZILLA 23254): Deprecation: format specifier "%S" and "%C" are invalid)
982
+ $(LI $(BUGZILLA 23256): must supply -mscrtlib manually when compiling for Windows)
983
+ $(LI $(BUGZILLA 23262): typesafe variadic function parameter cannot infer return)
984
+ $(LI $(BUGZILLA 23293): ImportC: _Bool bit fields layout does not match gcc)
985
+ $(LI $(BUGZILLA 23308): Can't resolve overload of varargs function if one parameter is the result of a ternary expression)
986
+ $(LI $(BUGZILLA 23327): [ICE] SEGV in AssocArray!$(LPAREN)Identifier, Dsymbol$(RPAREN).AssocArray.opIndex$(LPAREN)const$(LPAREN)Identifier$(RPAREN)$(RPAREN) at src/dmd/root/aav.d:313)
987
+ $(LI $(BUGZILLA 23331): implicit cast from noreturn crashes compiler in various ways)
988
+ $(LI $(BUGZILLA 23338): braceless subarray initalizers for struct fields fails)
878
989
$(LI $(BUGZILLA 23340): std.path: expandTilde erroneously raises onOutOfMemory on failed getpwam_r$(LPAREN)$(RPAREN))
990
+ $(LI $(BUGZILLA 23342): ImportC: Array compound literals use the GC)
991
+ $(LI $(BUGZILLA 23343): ImportC: functions declared with asm label to set symbol name gets extra underscore prepended)
992
+ $(LI $(BUGZILLA 23345): ImportC: out of order designated initializers initialize to wrong value)
993
+ $(LI $(BUGZILLA 23346): ImportC: pragma pack is not popped)
994
+ $(LI $(BUGZILLA 23347): ImportC: pragma pack causes asm label to set symbol name to be ignored)
995
+ $(LI $(BUGZILLA 23348): not handling braceless sub structs in initializers)
996
+ $(LI $(BUGZILLA 23351): A bunch of Mayonix's dmd-segfaulting programs)
997
+ $(LI $(BUGZILLA 23355): invalid template parameter loses error location in some cases)
998
+ $(LI $(BUGZILLA 23357): ImportC: compatible types with definitions leads to redeclaration error when used from D.)
999
+ $(LI $(BUGZILLA 23368): Throwing a null exception at compile time crashes the compiler)
1000
+ $(LI $(BUGZILLA 23379): Cast of expressions with type noreturn result in ice)
1001
+ $(LI $(BUGZILLA 23380): [dip1000] class parameter should not be treated as ref qua lifetime)
1002
+ $(LI $(BUGZILLA 23406): [seg fault] enums can cause compile time seg faults with assignments using alias this)
1003
+ $(LI $(BUGZILLA 23461): dmd: src/dmd/backend/cod1.d:2037: Assertion false failed)
1004
+ )
1005
+ $(BUGSTITLE_BUGZILLA DMD Compiler enhancements,
1006
+
1007
+ $(LI $(BUGZILLA 7372): Error provides too little information to diagnose the problem $(LPAREN)error: undefined identifier$(RPAREN))
1008
+ $(LI $(BUGZILLA 14690): pragma$(LPAREN)inline, true$(RPAREN) functions must have their bodies emitted in the .di file)
1009
+ $(LI $(BUGZILLA 16701): Remove Restriction of "package.d" Source File Module Forced to All Lowercase)
1010
+ $(LI $(BUGZILLA 17575): named mixin template error message)
1011
+ $(LI $(BUGZILLA 21243): Allow lambdas to return auto ref)
1012
+ $(LI $(BUGZILLA 21673): [SIMD][Win64] Wrong codegen for _mm_move_ss)
1013
+ $(LI $(BUGZILLA 22911): dtoh: make include directives sorted for generated headers)
1014
+ $(LI $(BUGZILLA 23079): [dip1000] be more lenient when taking address of `ref` return)
1015
+ $(LI $(BUGZILLA 23141): Improve -release switch description)
1016
+ $(LI $(BUGZILLA 23142): Scope should not apply to unittests)
1017
+ $(LI $(BUGZILLA 23143): ImportC: forward enum declarations need to be supported)
1018
+ $(LI $(BUGZILLA 23165): lambda functions are not inlined)
1019
+ $(LI $(BUGZILLA 23191): [dip1000] scope parameter can be returned in @system code)
1020
+ $(LI $(BUGZILLA 23216): Better Error Message For foreach_reverse Without Bidirectional Range)
1021
+ $(LI $(BUGZILLA 23284): Enhance floating point not representable error message)
1022
+ $(LI $(BUGZILLA 23295): [dip1000] explain why scope inference failed)
1023
+ $(LI $(BUGZILLA 23306): @disable new$(LPAREN)$(RPAREN) ought not disable `scope A = new A`)
1024
+ $(LI $(BUGZILLA 23369): Confusing error message for duplicate import)
1025
+ $(LI $(BUGZILLA 23376): Allow multi-code-point HTML entities)
1026
+ $(LI $(BUGZILLA 23384): Suggest calling matching base class method when hidden)
879
1027
)
880
1028
$(BUGSTITLE_BUGZILLA Phobos regression fixes,
881
1029
@@ -960,16 +1108,20 @@ $(LI $(BUGZILLA 23186): wchar/dchar do not have their endianess defined)
960
1108
$(LI $(BUGZILLA 23359): Rename InOut to ParameterStorageClass)
961
1109
)
962
1110
)
963
- $(D_CONTRIBUTORS_HEADER 63 )
1111
+ $(D_CONTRIBUTORS_HEADER 72 )
964
1112
$(D_CONTRIBUTORS
965
1113
$(D_CONTRIBUTOR Adam D. Ruppe)
1114
+ $(D_CONTRIBUTOR Adela Vais)
966
1115
$(D_CONTRIBUTOR aG0aep6G)
967
1116
$(D_CONTRIBUTOR Andrea Fontana)
968
1117
$(D_CONTRIBUTOR Andrej Mitrovic)
969
1118
$(D_CONTRIBUTOR Ast-x64)
970
1119
$(D_CONTRIBUTOR Ate Eskola)
971
1120
$(D_CONTRIBUTOR Atila Neves)
972
1121
$(D_CONTRIBUTOR Bastiaan Veelo)
1122
+ $(D_CONTRIBUTOR Ben Jones)
1123
+ $(D_CONTRIBUTOR bistcuite)
1124
+ $(D_CONTRIBUTOR Boris Carvajal)
973
1125
$(D_CONTRIBUTOR Brian Callahan)
974
1126
$(D_CONTRIBUTOR Carsten Schlote)
975
1127
$(D_CONTRIBUTOR chloekek)
@@ -991,21 +1143,26 @@ $(D_CONTRIBUTORS
991
1143
$(D_CONTRIBUTOR Iulia Dumitru)
992
1144
$(D_CONTRIBUTOR james)
993
1145
$(D_CONTRIBUTOR Jan Jurzitza)
1146
+ $(D_CONTRIBUTOR Jasmine Hegman)
994
1147
$(D_CONTRIBUTOR Joe)
995
1148
$(D_CONTRIBUTOR João Lourenço)
1149
+ $(D_CONTRIBUTOR Lucian Danescu)
1150
+ $(D_CONTRIBUTOR lucica28)
996
1151
$(D_CONTRIBUTOR Luís Ferreira)
997
1152
$(D_CONTRIBUTOR Martin Kinkelin)
998
1153
$(D_CONTRIBUTOR Martin Nowak)
999
1154
$(D_CONTRIBUTOR Mathias Lang)
1000
1155
$(D_CONTRIBUTOR Max Haughton)
1001
1156
$(D_CONTRIBUTOR mhh)
1002
1157
$(D_CONTRIBUTOR Mike Parker)
1158
+ $(D_CONTRIBUTOR MoonlightSentinel)
1003
1159
$(D_CONTRIBUTOR Nicholas Wilson)
1004
1160
$(D_CONTRIBUTOR Nick Treleaven)
1005
1161
$(D_CONTRIBUTOR Paul Backus)
1006
1162
$(D_CONTRIBUTOR Per Nordlöw)
1007
1163
$(D_CONTRIBUTOR Petar Kirov)
1008
1164
$(D_CONTRIBUTOR Quirin F. Schroll)
1165
+ $(D_CONTRIBUTOR Rainer Schuetze)
1009
1166
$(D_CONTRIBUTOR Razvan Nitu)
1010
1167
$(D_CONTRIBUTOR Robert burner Schadek)
1011
1168
$(D_CONTRIBUTOR Roy Margalit)
0 commit comments