forked from dlang/dlang.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.d
1791 lines (1622 loc) · 90.9 KB
/
changelog.d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Ddoc
$(D_S D Change Log,
$(UPCOMING
$(LI Shared libraries for Linux)
)
$(VERSION 068, Feb 20, 2011, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
)
)
<div id=version>
$(UL
$(NEW1 068)
$(NEW1 067)
$(NEW1 066)
$(NEW1 065)
$(NEW1 064)
$(NEW1 063)
$(NEW1 062)
$(NEW1 061)
$(NEW1 060)
$(NEW1 059)
$(NEW1 058)
$(NEW1 057)
$(NEW1 056)
$(NEW1 055)
$(NEW1 054)
$(NEW1 053)
$(NEW1 052)
$(NEW1 051)
$(NEW1 050)
$(NEW1 049)
$(NEW1 048)
$(NEW1 047)
$(NEW1 046)
$(NEW1 045)
$(NEW1 044)
$(NEW1 043)
$(NEW1 042)
$(NEW1 041)
$(NEW1 040)
$(NEW1 039)
$(NEW1 038)
$(NEW1 037)
$(NEW1 036)
$(NEW1 035)
$(NEW1 034)
$(NEW1 033)
$(NEW1 032)
$(NEW1 031)
$(NEW1 030)
$(NEW1 029)
$(NEW1 028)
$(NEW1 027)
$(NEW1 026)
$(NEW1 025)
$(NEW1 024)
$(NEW1 023)
$(NEW1 022)
$(NEW1 021)
$(NEW1 020)
$(NEW1 019)
$(NEW1 018)
$(NEW1 017)
$(NEW1 016)
$(NEW1 015)
$(NEW1 014)
$(NEW1 013)
$(NEW1 012)
$(NEW1 011)
$(NEW1 010)
$(NEW1 009)
$(NEW1 007)
$(NEW1 006)
$(NEW1 005)
$(NEW1 004)
$(NEW1 003)
$(NEW1 002)
$(NEW1 001)
$(LI $(LINK2 http://www.digitalmars.com/d/changelog.html, change log for D 2.0))
$(LI $(LINK2 changelog2.html, older versions))
$(LI $(LINK2 changelog1.html, even older versions))
$(LI Download latest stable (1.030)
<a HREF="http://ftp.digitalmars.com/dmd.1.030.zip" title="download D compiler">
D compiler</a> for Win32 and x86 linux)
$(LI $(LINK2 http://www.digitalmars.com/pnews/index.php?category=2, tech support))
$(COMMENT
$(LI $(LINK2 http://www.digitalmars.com/drn-bin/wwwnews?newsgroups=*, tech support))
)
)
</div>
$(VERSION 067, Feb 17, 2011, =================================================,
$(WHATSNEW
$(LI 64 bit support for Linux)
$(LI Support HTML5 entities)
$(LI FreeBSD version upgraded to FreeBSD 8.1)
)
$(BUGSFIXED
$(LI $(BUGZILLA 190): Cannot forward reference typedef/alias in default value for function parameter)
$(LI $(BUGZILLA 1914): Array initialisation from const array yields memory trample)
$(LI $(BUGZILLA 3198): wrong initializer for structs arrays)
$(LI $(BUGZILLA 3681): ICE(go.c): when function takes too long to optimize, only with -O.)
$(LI $(BUGZILLA 4245): Declaring conflicting symbols in single function scope allowed)
$(LI $(BUGZILLA 4379): ICE(blockopt.c): foreach over huge tuple, only with -O)
$(LI $(BUGZILLA 4389): ICE(constfold.c, expression.c), or wrong code: string~=dchar in CTFE)
$(LI $(BUGZILLA 4486): CodeView debug info should contain absolute path names)
$(LI $(BUGZILLA 4753): fail_compilation/fail116.d sends dmd into a loop, exhausting memory)
$(LI $(BUGZILLA 4878): Ddoc: Default arguments can break Ddoc output)
$(LI $(BUGZILLA 4973): map file with spaces in file name passed without quotes to linker)
$(LI $(BUGZILLA 5015): Regression(1.061): Cyclic import breaks is() in a static if)
$(LI $(BUGZILLA 5090): ICE(todt.c) struct literal initializing zero length array)
$(LI $(BUGZILLA 5105): Member function template cannot be synchronized)
$(LI $(BUGZILLA 5221): entity.c: Merge Walter's list with Thomas')
$(LI $(BUGZILLA 5241): dmd: ABI breakage/regression (TypeInfo.toString() returns partially corrupted string))
$(LI $(BUGZILLA 5242): self referencing template constraint crashes compiler)
$(LI $(BUGZILLA 5244): PATCH: fix use of uninitialised variable in toObj.c)
$(LI $(BUGZILLA 5246): PATCH(s): fix a couple more uninitialised variables)
$(LI $(BUGZILLA 5349): ICE(toir.c): nested class in static member function)
$(LI $(BUGZILLA 5391): Crash with recursive alias declaration)
$(LI $(BUGZILLA 5439): 64bit struct alignment inconsistent with C ABI)
$(LI $(BUGZILLA 5455): ICE(cgcod.c): Optimization (register allocation?) regression in DMD 1.065)
$(LI $(BUGZILLA 5486): Missing define for running dmd as 64 bit)
$(LI $(BUGZILLA 5534): [64-bit] Inexplicable segfault in small code snippet, -O -release -m64 only)
$(LI $(BUGZILLA 5536): Array append with dollar op on 64-bit)
$(LI $(BUGZILLA 5545): [64-bit] DMD fails to postincrement ubytes.)
$(LI $(BUGZILLA 5549): [64-bit] Internal error: backend/cgcod.c 1845)
$(LI $(BUGZILLA 5556): [64-bit] Wrong Implicit Conversion to Double)
$(LI $(BUGZILLA 5557): [64-Bit] FP (alignment?) issues with Rvalues)
$(LI $(BUGZILLA 5564): [64-bit] loading of wrong constant byte value)
$(LI $(BUGZILLA 5565): [64-bit] Wrong Floating Point Results, Related to Mixing With size_t)
$(LI $(BUGZILLA 5566): [64-bit] More erratic FP results with size_t)
$(LI $(BUGZILLA 5571): [64-bit] new bool returns bogus address)
$(LI $(BUGZILLA 5572): [64-bit] Global Hidden Mutexes Seem to share Addresses W/ Global Variables)
$(LI $(BUGZILLA 5580): [64-bit] String switch statements broken in 64-bit mode)
$(LI $(BUGZILLA 5581): [64-bit] Wrong code with bitwise operations on bools)
$(LI $(BUGZILLA 5592): Previous definition different: __arrayExpSliceMulSliceAddass_d)
)
)
$(VERSION 066, Dec 21, 2010, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 603): Undocumented behaviour: case and default create a scope)
$(LI $(BUGZILLA 632): Typedef/enum promotions spec ambiguous - ultimate base type or lowest common denominator?)
$(LI $(BUGZILLA 679): Spec needs allowances for copying garbage collection)
$(LI $(BUGZILLA 690): ABI not fully documented)
$(LI $(BUGZILLA 1351): Discrepancies in the language specification)
$(LI $(BUGZILLA 1466): Spec claims maximal munch technique always works: not for "1..3")
$(LI $(BUGZILLA 2206): unnamed template mixin of class inside function or class has incorrect classinfo and mangleof)
$(LI $(BUGZILLA 2385): spec says all structs are returned via hidden pointer on linux, but it uses registers)
$(LI $(BUGZILLA 2392): Parsing ambiguity between function pointer declaration and function call)
$(LI $(BUGZILLA 2406): Declarator2 definition error)
$(LI $(BUGZILLA 2556): Property classinfo needs better documentation (RTTI, typeof, typeid, runtime type information))
$(LI $(BUGZILLA 2616): Undocumented behaviour: part-explicit, part-implicit instantiations of function templates are accepted)
$(LI $(BUGZILLA 2651): class body declaration grammar incorrect)
$(LI $(BUGZILLA 2652): DeclDef grammar is wrong)
$(LI $(BUGZILLA 2734): Ambiguity in tokenizing: _._ as a float literal)
$(LI $(BUGZILLA 2994): Incomplete "Predefined Versions" documentation)
$(LI $(BUGZILLA 3112): Specification on what operations call the GC is missing)
$(LI $(BUGZILLA 3276): Recursion broken by alias template parameter)
$(LI $(BUGZILLA 3554): Ddoc generates invalid output for documentation comments with non paired parantheses)
$(LI $(BUGZILLA 4529): Segfault(typinf.c) involving typeid(typeof(functionName)))
$(LI $(BUGZILLA 4728): Segfault(toctype.c) by protected/private constructor in an other module)
$(LI $(BUGZILLA 4864): ICE(statement.c) Crash on invalid 'if statement' body inside mixin)
$(LI $(BUGZILLA 5110): Excess attribute propagation of structs and classes)
$(LI $(BUGZILLA 5117): [CTFE] Member function call with rather complex this: side effects ignored)
$(LI $(BUGZILLA 5120): ICE(mtype.c) void associative arrays)
$(LI $(BUGZILLA 5145): Regression(2.050, 1.065) override error with forward ref of superclass)
$(LI $(BUGZILLA 5159): Segfault(interpret.c): calling a static function pointer variable in CTFE)
$(LI $(BUGZILLA 5164): Error without line number using "is (T...)")
$(LI $(BUGZILLA 5180): ICE(arrayop.c) in-place array operation on incompatible types)
$(LI $(BUGZILLA 5182): ICE(expression.c): calling unittest from a function)
$(LI $(BUGZILLA 5195): Forward references ignore const)
$(LI $(BUGZILLA 5230): Regression(2.041, 1.057) ICE(tocsym.c) overriding a method that has an out contract)
$(LI $(BUGZILLA 5238): PATCH: fix return of uninitialised var in interpret.c)
$(LI $(BUGZILLA 5275): x86_64 related hidden function parameter mishandled)
$(LI $(BUGZILLA 5294): -O optimization breaks for loop)
$(LI $(BUGZILLA 5331): mach format problem)
)
)
$(VERSION 065, Oct 29, 2010, =================================================,
$(WHATSNEW
$(LI added talign() and argTypes() to TypeInfo)
$(LI Upgrade zlib support to zlib 1.2.5)
)
$(BUGSFIXED
$(LI Unlisted bug: signed long comparisons under OS X)
$(LI $(BUGZILLA 3602): ICE(tocsym.c) compiling a class, if its super class has preconditions)
$(LI $(BUGZILLA 3665): Regression(1.051, 2.036) Assignment with array slicing does not work)
$(LI $(BUGZILLA 4398): dmd always uses Windows name mangling for _d_throw
$(RED may require update to Tango))
$(LI $(BUGZILLA 4623): Non-integer type allowed as static array size)
$(LI $(BUGZILLA 4768): Regression(1.056): wrong code with forward declaration of enum)
$(LI $(BUGZILLA 4825): Regression(1.057, 2.040) "Error: non-constant expression" with -inline)
$(LI $(BUGZILLA 4873): Assertion failure: '0' on line 1483 in file 'expression.c')
$(LI $(BUGZILLA 4897): CodeView: No locals or parameters are shown when debugging, because of missing function info)
$(LI $(BUGZILLA 4925): [ICE] segfault with module-scope assert(0))
$(LI $(BUGZILLA 4926): ICE: PREC_zero assertion failure due to unset precedence)
$(LI $(BUGZILLA 4941): Built-in tuple slice boundaries are not CTFE'd)
$(LI $(BUGZILLA 4949): ICE on invalid static if using value of 'this')
$(LI $(BUGZILLA 5026): ICE(expression.c) Incomplete mixin expression + char[] to char assignment)
)
)
$(VERSION 064, Sep 13, 2010, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(xxLI $(BUGZILLA 190): Cannot forward reference typedef/alias in default value for function parameter)
$(LI $(BUGZILLA 1715): Template specialization checks for equality rather than convertibility)
$(LI $(BUGZILLA 1970): Templated interfaces not matched)
$(LI $(BUGZILLA 2511): Covariant return type doesn't work with circular import)
$(LI $(BUGZILLA 2716): Confusion of auto and scope as the class attribute)
$(LI $(BUGZILLA 3046): Segfault with C++ static variable (Linux only))
$(LI $(BUGZILLA 3418): link error with cast(ulong)(ulong*real))
$(xxLI $(BUGZILLA 3493): Segfault(cast.c) Forward reference with type inference, D1 only.)
$(LI $(BUGZILLA 3544): optlink termination 0041338f with recursive nested functions)
$(LI $(BUGZILLA 3554): Ddoc generats invalid output for documentation comments with non paired paranthasis)
$(LI $(BUGZILLA 3627): -of with a filename with a double extension confuses linker)
$(LI $(BUGZILLA 4009): OPTLINK ruins the day yet again)
$(LI $(BUGZILLA 4173): Regression(2.037) Explicitly instantiated templates still try to do IFTI in some cases)
$(LI $(BUGZILLA 4278): allow inlining of super calls (undo limitations of bug3500's fix))
$(LI $(BUGZILLA 4302): Regression(2.046, 1.061): compiler errors using startsWith in CTFE)
$(LI $(BUGZILLA 4645): to!string(const char*) in library causes Optlink to issue warning)
$(LI $(BUGZILLA 4652): Compiler hangs on template with zero-length tuple and another argument)
$(LI $(BUGZILLA 4655): Regression(1.063, 2.048) goto to a try block ICEs)
$(LI $(BUGZILLA 4676): Overload resolution rejects valid code when mixing variadics, non-variadics)
$(LI $(BUGZILLA 4691): Incorrect comparison of double and long)
$(LI $(BUGZILLA 4721): compilation slow when compiling unittests on dcollections)
$(LI $(BUGZILLA 4751): Regression(1.062, 2.047) ICE(constfold.c) >> after error)
$(LI $(BUGZILLA 4752): fail_compilation/fail345.d asserts in expression.c)
$(LI $(BUGZILLA 4771): fail_compilation/fail274.d hits a halt in iasm.c)
$(LI $(BUGZILLA 4828): ICE w/ non-boolean dot expression sth.template_instance in static if)
)
)
$(VERSION 063, Aug 8, 2010, =================================================,
$(WHATSNEW
$(LI $(BUGZILLA 4080): Patch for building dynamic libraries on Mac OS X)
)
$(BUGSFIXED
$(LI $(BUGZILLA 1418): tupleof bug on nested classes)
$(LI $(BUGZILLA 1678): ref with varargs generates invalid code)
$(LI $(BUGZILLA 2931): Initialization struct with array from another struct)
$(LI $(BUGZILLA 3326): $ in delegate literal causes Access Violation)
$(LI $(BUGZILLA 3560): foreach over nested function generates wrong code)
$(LI $(BUGZILLA 3569): DMD Stack Overflow with a struct member function inside a C-style struct initializer)
$(LI $(BUGZILLA 3679): Regression(2.031) template forward reference regression)
$(LI $(BUGZILLA 3706): delegates of interfaces with multiple inheritance fail)
$(LI $(BUGZILLA 4191): [FreeBSD] real constants are rounded to double precision)
$(LI $(BUGZILLA 4198): [FreeBSD] imprecision in decimal floating-point literals)
$(LI $(BUGZILLA 4238): Segfault(statement.c): with(typeof(int)))
$(LI $(BUGZILLA 4303): __traits(compiles) returns wrong result when used recursively)
$(LI $(BUGZILLA 4314): Regression(1.062): Expression array1 && array2 doesn't compile)
$(LI $(BUGZILLA 4339): Struct destructor + invariant + struct parameter = horrific error message)
$(LI $(BUGZILLA 4396): mkdir race prevents concurrent compiling with DMD using make -j)
$(LI $(BUGZILLA 4443): Optimizer produces wrong code for || or && with struct arrays)
$(LI $(BUGZILLA 4503): forward reference to aliased template instance)
$(LI $(BUGZILLA 4506): Regression(2.034): -O flag breaks some recursive functions)
$(LI $(BUGZILLA 4514): Regression: Cannot cast from X* to X)
$(LI $(BUGZILLA 4569): extern(c++) doesn't understand const types, produces bad mangled symbol)
$(LI $(BUGZILLA 4578): Regression(2.047,1.062): ICE(cgcod.c): var+arr[])
)
)
$(VERSION 062, Jun 9, 2010, =================================================,
$(WHATSNEW
$(LI $(BUGZILLA 2008): Poor optimization of functions with ref parameters)
$(LI $(BUGZILLA 4296): Reduce parasitic error messages)
)
$(BUGSFIXED
$(LI $(BUGZILLA 1193): regression: "matches more than one template declaration" doesn't list the location of the conflicting templates)
$(LI $(BUGZILLA 1894): scope(exit) is ignored except in compound statements)
$(LI $(BUGZILLA 1941): missing line on inaccesable external private module member)
$(LI $(BUGZILLA 2127): inliner turns struct "return *this" from by-value into by-ref)
$(LI $(BUGZILLA 2276): Error message missing line number on array operation)
$(LI $(BUGZILLA 2546): Array Ops silently fail when no slice symbol is used.)
$(LI $(BUGZILLA 2881): x.stringof returns typeof(x).stringof when x is an enum)
$(LI $(BUGZILLA 3064): Invalid array operation accepted, generates bad code)
$(LI $(BUGZILLA 3323): Segfault or ICE(e2ir.c) using struct with destructor almost anywhere)
$(LI $(BUGZILLA 3398): Attributes inside a union screws data alignment)
$(LI $(BUGZILLA 3547): for option -od for relative path the path is added twice)
$(LI $(BUGZILLA 3548): ICE occurs when an array is returned from a function is incorrectly used in an array op expression.)
$(LI $(BUGZILLA 3651): mangleof broken for enums)
$(LI $(BUGZILLA 3854): Error on static initialization of arrays with trailing comma.)
$(LI $(BUGZILLA 4003): The result changes only with the order of source files.)
$(LI $(BUGZILLA 4045): [CTFE] increasing array length)
$(LI $(BUGZILLA 4052): [CTFE] increment from array item)
$(LI $(BUGZILLA 4078): [CTFE] Failed return of dynamic array item)
$(LI $(BUGZILLA 4084): Ignored missing main() closing bracket)
$(LI $(BUGZILLA 4143): fix warnings in dmd build)
$(LI $(BUGZILLA 4156): Segfault with array+=array)
$(LI $(BUGZILLA 4169): building dmd with a modern gcc produces a buggy compiler)
$(LI $(BUGZILLA 4175): linux.mak doesn't declare sufficient dependencies to support parallel builds)
$(LI $(BUGZILLA 4210): Random crashes / heisenbugs caused by dmd commit 478: compiler messes up vtables)
$(LI $(BUGZILLA 4212): DWARF: void arrays cause gdb errors)
$(LI $(BUGZILLA 4213): Strange behaviour with static void[] arrays)
$(LI $(BUGZILLA 4242): ICE(module.c): importing a module with same name as package)
$(LI $(BUGZILLA 4252): [CTFE] No array bounds checking in assignment to char[] array)
$(LI $(BUGZILLA 4257): ICE(interpret.c): passing parameter into CTFE as ref parameter)
$(LI $(BUGZILLA 4259): Header generation omits leading '@' for properties)
$(LI $(BUGZILLA 4270): Missing line number in 'can only catch class objects' error message)
)
)
$(VERSION 061, May 10, 2010, =================================================,
$(WHATSNEW
$(LI Add hints for missing import declarations.)
$(LI Speed up compilation.)
)
$(BUGSFIXED
$(LI Fix hanging problem on undefined identifiers.)
$(LI $(BUGZILLA 461): Constant not understood to be constant when circular module dependency exists.)
$(LI $(BUGZILLA 945): template forward reference with named nested struct only)
$(LI $(BUGZILLA 1055): union forward reference "overlapping initialization" error)
$(LI $(BUGZILLA 2085): CTFE fails if the function is forward referenced)
$(LI $(BUGZILLA 2386): Array of forward referenced struct doesn't compile)
$(LI $(BUGZILLA 4015): forward reference in alias causes error)
$(LI $(BUGZILLA 4016): const initializer cannot forward reference other const initializer)
$(LI $(BUGZILLA 4042): Unable to instantiate a struct template.)
$(LI $(BUGZILLA 4100): Break and continue to label should mention foreach)
)
)
$(VERSION 060, May 4, 2010, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI Another try at fixing the Dwarf issues.)
)
)
$(VERSION 059, Apr 30, 2010, =================================================,
$(WHATSNEW
$(LI Improve spelling checking distance to 2.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 1079): gdb: Dwarf Error: Cannot find DIE at 0xb705 referenced from DIE at 0x250)
$(LI $(BUGZILLA 2549): Segfault on array multiplication.)
$(LI $(BUGZILLA 3066): Array operation without a slice as the lvalue accepted, bad codegen)
$(LI $(BUGZILLA 3207): gdb: Push D patches upstream)
$(LI $(BUGZILLA 3415): broken JSON output)
$(LI $(BUGZILLA 3522): ICE(cg87.c): variable*array[].)
$(LI $(BUGZILLA 3974): ICE(init.c): Static array initializer with more elements than destination array)
$(LI $(BUGZILLA 3987): [gdb] Invalid DWARF output for function pointers)
$(LI $(BUGZILLA 4036): Segfault with -inline and literal of struct containing union)
$(LI $(BUGZILLA 4037): [gdb] Invalid DWARF output for wchar)
$(LI $(BUGZILLA 4038): [gdb] Invalid DWARF output for function pointers with ref args)
$(LI $(BUGZILLA 4067): [CTFE] Code inside try-catch blocks is silently ignored)
$(LI $(BUGZILLA 4089): crash when creating JSON output for incomplete struct)
$(LI $(BUGZILLA 4093): Segfault(interpret.c): with recursive struct templates)
$(LI $(BUGZILLA 4105): Stack overflow involving alias template parameters and undefined identifier)
)
)
$(VERSION 058, Apr 6, 2010, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 122): DDoc newline behaviour produces suboptimal results)
$(LI $(BUGZILLA 1628): Ddoc produces invalid documentation for --- blocks)
$(LI $(BUGZILLA 2609): No documentation generated for destructor)
$(LI $(BUGZILLA 3808): Assertion Failure : Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 870 in file 'toobj.c')
$(LI $(BUGZILLA 3842): ICE(expression.c) using pointer in CTFE)
$(LI $(BUGZILLA 3884): Segfault: defining a typedef with an invalid object.d)
$(LI $(BUGZILLA 3885): No multithread support for Windows DLL)
$(LI $(BUGZILLA 3899): CTFE: poor error message for use of uninitialized variable)
$(LI $(BUGZILLA 3900): CTFE: Wrong return value for array.var assignment)
$(LI $(BUGZILLA 3901): PATCH: Nested struct assignment for CTFE)
$(LI $(BUGZILLA 3914): Struct as argument that fits in register has member accessed wrong)
$(LI $(BUGZILLA 3919): ICE(expression.c, 9944): * or / with typedef ireal)
$(LI $(BUGZILLA 3920): Assertion failure: '0' on line 10018 in file 'expression.c')
$(LI $(BUGZILLA 3958): mixin(non-static method) crashes compiler)
$(LI $(BUGZILLA 3972): Regarding module with name different from its file name)
$(LI $(BUGZILLA 4002): dmd.conf and binary path in dmd -v output)
$(LI $(BUGZILLA 4004): DMD 2.042 CTFE regression with functions taking ref parameters)
$(LI $(BUGZILLA 4005): std.c.stdlib.exit in CTFE and more)
$(LI $(BUGZILLA 4011): Incorrect function overloading using mixins)
$(LI $(BUGZILLA 4019): [CTFE] Adding an item to an empty AA)
$(LI $(BUGZILLA 4020): [ICE][CTFE] struct postblit in CTFE)
$(LI $(BUGZILLA 4027): Closures in CTFE generate wrong code)
$(LI $(BUGZILLA 4029): CTFE: cannot invoke delegate returned from function)
)
)
$(VERSION 057, Mar 7, 2010, =================================================,
$(WHATSNEW
$(LI Warnings no longer halt the parsing/semantic passes, though they still return
an error status and still do not generate output files. They also no longer count
as errors when testing with "compiles" traits.)
$(LI Added $(B -wi) switch for $(BUGZILLA 2567))
$(LI Associative array contents can now be compared for equality)
$(LI Add simple spell checking.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 2321): spec on inline asm can be misunderstood)
$(LI $(BUGZILLA 2463): No line number in "statement is not reachable" warning)
$(LI $(BUGZILLA 3029): Bug in array value mangling rule)
$(LI $(BUGZILLA 3306): bad function/delegate literal generated into header files)
$(LI $(BUGZILLA 3373): bad codeview debug info for long and ulong)
$(LI Posix only, $(BUGZILLA 3420): [PATCH] Allow string import of files using subdirectories)
$(LI $(BUGZILLA 3450): incorrect result for is (typeof({ ... }())) inside a struct)
$(LI $(BUGZILLA 3500): super behaves differently with -inline)
$(LI $(BUGZILLA 3558): Optimizer bug results in false if condition being taken)
$(LI $(BUGZILLA 3670): Declarator grammar rule is broken)
$(LI $(BUGZILLA 3710): Typo in allMembers description?)
$(LI $(BUGZILLA 3736): corrupted struct returned by function with optimizations (-O))
$(LI $(BUGZILLA 3737): SEG-V at expression.c:6255 from bad opDispatch)
$(LI $(BUGZILLA 3768): reapeted quotes in ddoc.html)
$(LI $(BUGZILLA 3769): Regression: Segfault(constfold.c) array literals and case statements)
$(LI $(BUGZILLA 3775): Segfault(cast.c): casting no-parameter template function using property syntax)
$(LI $(BUGZILLA 3781): ICE(interpret.c): using no-argument C-style variadic function in CTFE)
$(LI $(BUGZILLA 3792): Regression: "non-constant expression" for a template inside a struct using a struct initializer)
$(LI $(BUGZILLA 3803): compiler segfaults)
$(LI $(BUGZILLA 3840): Jump to: section in the docs should be sorted)
)
)
$(VERSION 056, Jan 29, 2010, =================================================,
$(WHATSNEW
$(LI Clarification: function returns are not lvalues)
$(LI Add $(B -map) command line switch)
$(LI Delegates and function pointers may be used in CTFE)
$(LI Delegate literals and function literals may be used in CTFE)
$(LI Lazy function parameters may now be used in CTFE)
$(LI Slicing of char[] arrays may now be used in CTFE)
)
$(BUGSFIXED
$(LI $(CPPBUGZILLA 48): Internal error: cgreg 784)
$(LI $(BUGZILLA 1298): CTFE: tuple foreach bugs)
$(LI $(BUGZILLA 1790): CTFE: foreach(Tuple) won't compile if Tuple contains string)
$(LI $(BUGZILLA 2101): CTFE: Please may I use mutable arrays at compile time?)
$(LI Partial fix for $(BUGZILLA 3569), stops the stack overflow)
$(LI $(BUGZILLA 3668): foreach over typedef'd array crashes dmd)
$(LI $(BUGZILLA 3674): forward reference error with multiple overloads with same name)
$(LI $(BUGZILLA 3685): Regression(D1 only): DMD silently exits on valid code)
$(LI $(BUGZILLA 3687): Array operation "slice times scalar" tramples over memory)
$(LI $(BUGZILLA 3719): forward references can cause out-of-memory error)
$(LI $(BUGZILLA 3723): Regression: forward referenced enum)
$(LI $(BUGZILLA 3724): bug in Expression::arraySyntaxCopy (null pointer dereference on struct->union->struct))
$(LI $(BUGZILLA 3726): Regression: ICE(mangle.c 81): struct forward reference with static this)
$(LI $(BUGZILLA 3740): Regression: class with fwd reference of a nested struct breaks abstract)
)
)
$(VERSION 055, Jan 1, 2010, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 3663): struct forward reference regresssion)
$(LI $(BUGZILLA 3664): struct forward declaration causes enum to conflict with itself)
)
)
$(VERSION 054, Dec 30, 2009, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(CPPBUGZILLA 45): Internal error: cgcod 1594)
$(LI $(CPPBUGZILLA 46): Constant folding with long doubles)
$(LI $(NG_digitalmars_D 103391): D1 garbage collector + threads + malloc = garbage?)
$(LI $(BUGZILLA 282): Bizarre circular import nested name invisibility issue)
$(LI $(BUGZILLA 390): Cannot forward reference enum nested in struct)
$(LI $(BUGZILLA 400): forward reference error; no propety X for type Y (struct within struct))
$(LI $(BUGZILLA 1160): enums can not be forward referenced)
$(LI $(BUGZILLA 1564): Forward reference error for enum in circular import)
$(LI $(BUGZILLA 2029): Typesafe variadic functions don't work in CTFE)
$(LI $(BUGZILLA 2816): Sudden-death static assert is not very useful)
$(LI $(BUGZILLA 3455): Some Unicode characters not allowed in identifiers)
$(LI $(BUGZILLA 3575): CTFE: member structs not initialized correctly)
$(LI $(BUGZILLA 3584): DeclDef rule is missing entries)
$(LI $(BUGZILLA 3585): Duplicate clauses in EqualExpression and RelExpression rules)
$(LI $(BUGZILLA 3587): Aggregate rule references undefined Tuple)
$(LI $(BUGZILLA 3588): WithStatement rule references unspecified Symbol)
$(LI $(BUGZILLA 3589): BaseClassList and InterfaceClasses rules are incorrect, missing ',')
$(LI $(BUGZILLA 3590): FunctionParameterList rule is missing)
$(LI $(BUGZILLA 3591): TemplateIdentifier rule is misspelled)
$(LI $(BUGZILLA 3592): ClassTemplateDeclaration and FunctionTemplateDeclaration rules are unreferenced)
$(LI $(BUGZILLA 3593): IntegerExpression rule unspecified)
$(LI $(BUGZILLA 3594): AsmPrimaryExp rule references unspecified rules)
$(LI $(BUGZILLA 3595): Several rules are missing ':' after rule name)
$(LI $(BUGZILLA 3601): Debug and Release builds of DMD produce different object files)
$(LI $(BUGZILLA 3611): Enum forward referencing regression)
$(LI $(BUGZILLA 3612): ExpressionList is undefined)
$(LI $(BUGZILLA 3617): CTFE: wrong code for if(x) where x is int or smaller)
$(LI $(BUGZILLA 3628): can't cast null to int)
$(LI $(BUGZILLA 3633): Optimizer causes access violation)
$(LI $(BUGZILLA 3645): manifest constant (enum) crashes dmd)
)
)
$(VERSION 053, Dec 3, 2009, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 111): appending a dchar to a char[])
$(LI $(BUGZILLA 370): Compiler stack overflow on recursive typeof in function declaration.)
$(LI $(BUGZILLA 2229): ICE(template.c) instantiating an invalid variadic template with more than one argument)
$(LI $(BUGZILLA 2967): spec does not mention that inline asm is a valid "return" statement)
$(LI $(BUGZILLA 3115): >>> and >>>= generate wrong code)
$(LI $(BUGZILLA 3171): % not implemented correctly for floats)
$(LI $(BUGZILLA 3381): [tdpl] Incorrect assessment of overriding in triangular-shaped hierarchy)
$(LI $(BUGZILLA 3469): ICE(func.c): Regression. Calling non-template function as a template, from another module)
$(LI $(BUGZILLA 3495): Segfault(typinf.c) instantiating D variadic function with too few arguments)
$(LI $(BUGZILLA 3496): ICE(cgelem.c, optimizer bug) cast(void *)(x&1)== null.)
$(LI $(BUGZILLA 3502): Fix for dropped Mac OS X 10.5)
$(LI $(BUGZILLA 3521): Optimized code access popped register)
$(LI $(BUGZILLA 3540): Another DWARF line number fix)
)
)
$(VERSION 052, Nov 12, 2009, =================================================,
$(WHATSNEW
$(LI OSX versions 10.5 and older are no longer supported.)
)
$(BUGSFIXED
$(LI Works on OSX 10.6 now.)
)
)
$(VERSION 051, Nov 5, 2009, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI Problem with complicated array op expressions)
$(LI $(BUGZILLA 195): DDoc generates bad output when example contains "protected" attribute)
$(LI $(BUGZILLA 424): Unexpected OPTLINK Termination at EIP=0044C37B (too many fixups))
$(LI $(BUGZILLA 874): Bad codegen: wrong value variable in tuple foreach, D1 only)
$(LI $(BUGZILLA 1117): ddoc generates corrupted docs if code examples contain attributes with colons)
$(LI $(BUGZILLA 1812): DDOC - Unicode identifiers are not correctly marked.)
$(LI $(BUGZILLA 2862): ICE(template.c) using type tuple as function argument)
$(LI $(BUGZILLA 3292): ICE(todt.c) when using a named mixin with an initializer as template alias parameter)
$(LI $(BUGZILLA 3397): Unintended function call to static opCall)
$(LI $(BUGZILLA 3401): Compiler crash on invariant + method overload)
$(LI $(BUGZILLA 3422): ICE(cgcod.c) Structs with default initializers bigger than register size cannot be default parameters)
$(LI $(BUGZILLA 3426): ICE(optimize.c): struct literal with cast, as function default parameter.)
$(LI $(BUGZILLA 3432): ICE(e2ir.c): casting template expression)
)
)
$(VERSION 050, Oct 14, 2009, =================================================,
$(WHATSNEW
$(LI Use $(B -X) to generate JSON files.)
)
$(BUGSFIXED
$(LI Fold in patch from $(BUGZILLA 1170))
$(LI $(BUGZILLA 923): No constant folding for template value default arguments, D1 only)
$(LI $(BUGZILLA 1534): Can't mix in a case statement.)
$(LI $(BUGZILLA 2423): Erroneous unreachable statement warning)
$(LI $(BUGZILLA 3392): a cast of this to void in tango.core.Thread is not allowed)
)
)
$(VERSION 049, Oct 11, 2009, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 258): Undefined identifier error for circular import)
$(LI $(BUGZILLA 928): nested struct definition in unittest section of a templated class, hangs DMD)
$(LI $(BUGZILLA 1140): ICE(cod1.c) casting last function parameter to 8 byte value)
$(LI $(BUGZILLA 1592): dmd fail to resolve class symbol when i put files in a package)
$(LI $(BUGZILLA 1787): Compiler segfaults on circular references.)
$(LI $(BUGZILLA 1897): ICE(template.c) with tuple delegate)
$(LI $(BUGZILLA 1934): ICE(e2ir.c) using static array as AA key)
$(LI $(BUGZILLA 2229): ICE(template.c) instantiating an invalid variadic template with more than one argument)
$(LI $(BUGZILLA 2687): ICE(statement.c): tuple foreach in an erroneous template.)
$(LI $(BUGZILLA 2773): ICE(go.c) array assignment through a pointer, only with -O.)
$(LI $(BUGZILLA 2829): ICE(expression.c) static array block-initialized in struct literal)
$(LI $(BUGZILLA 2851): Segfault(expression.c) using C-style struct initializer with too few arguments)
$(LI $(BUGZILLA 3006): ICE(e2ir.c, tocsym.c) template module using array operation)
$(LI $(BUGZILLA 3041): Array slices can be compared to their element type: bad codegen or ICE)
$(LI $(BUGZILLA 3101): Stack overflow: declaring aggregate member twice with static if)
$(LI $(BUGZILLA 3174): ICE(mtype.c): Compiler crash or compiler error with auto returns and const / immutable / invarient / pure)
$(LI $(BUGZILLA 3176): Compiler hangs on poorly formed mixin in variadic template)
$(LI $(BUGZILLA 3261): compiler crash with mixin and forward reference)
$(LI $(BUGZILLA 3286): Default parameter prevents to resolve inter-module circular dependency)
$(LI $(BUGZILLA 3301): Undefined identifier error dependent on order of imports when a circular import is involved)
$(LI $(BUGZILLA 3325): ICE(func.c) function literal with post-contract)
$(LI $(BUGZILLA 3343): Crash by "auto main(){}")
$(LI $(BUGZILLA 3344): ICE(e2ir.c) returning an invalid function from main())
$(LI $(BUGZILLA 3357): ICE(cod1.c) using 'in' with a static char array as AA key)
$(LI $(BUGZILLA 3366): Segfault(declaration.c) variadic template with unmatched constraint)
$(LI $(BUGZILLA 3374): [tdpl] ICE(init.c): Associative array type not inferred)
)
)
$(VERSION 048, Oct 5, 2009, =================================================,
$(WHATSNEW
$(LI Compiler now detects some cases of illegal null dereferencing when compiled with -O)
$(LI $(BUGZILLA 2905): Faster +-*/ involving a floating-pointing literal)
)
$(BUGSFIXED
$(LI gdb stack trace should work now)
$(LI $(BUGZILLA 302): in/out contract inheritance yet to be implemented)
$(LI $(BUGZILLA 718): ICE(cgcod.c) with int /= cast(creal))
$(LI $(BUGZILLA 814): lazy argument + variadic arguments = segfault)
$(LI $(BUGZILLA 1168): Passing a .stringof of an expression as a template value parameter results in the string of the type)
$(LI $(BUGZILLA 1571): Segfault(class.c) const on function parameters not carried through to .di file)
$(LI $(BUGZILLA 1731): forward reference of function type alias resets calling convention)
$(LI $(BUGZILLA 2202): Error getting type of non-static member of a class)
$(LI $(BUGZILLA 2469): ICE(cod1.c) arbitrary struct accepted as struct initializer)
$(LI $(BUGZILLA 2697): Cast of float function return to ulong or uint gives bogus value)
$(LI $(BUGZILLA 2702): Struct initialisation silently inserts deadly casts)
$(LI $(BUGZILLA 2839): ICE(cgcs.c) with int /= imaginary)
$(LI $(BUGZILLA 3049): ICE(cod4.c) or segfault: Array operation on void[] array)
$(LI $(BUGZILLA 3059): Nonsensical complex op= should be illegal)
$(LI $(BUGZILLA 3160): ICE(cgcod.c 1511-D1) or bad code-D2 returning string from void main)
$(LI $(BUGZILLA 3304): Segfault using 'is' with a pointer enum.)
$(LI $(BUGZILLA 3305): Segfault(expression.c) with recursive struct template alias expressions)
$(LI $(BUGZILLA 3335): minor warning cleanups)
$(LI $(BUGZILLA 3336): ICE(glue.c) declaring AA with tuple key, only with -g)
$(LI $(BUGZILLA 3353): storage class of a member function is propagated to default arguments)
)
)
$(VERSION 047, Sep 2, 2009, =================================================,
$(WHATSNEW
$(LI $(BUGZILLA 3122): [patch] Adding support for fast and reliable build tools to the frontend)
$(LI Added support for:
---
a[i].var = e2
---
and:
---
a[] = e
---
in CTFE. $(I (thanks, Don!)))
$(LI Member functions can now be used in CTFE)
$(LI Operator overloading can now be used in CTFE)
$(LI Nested functions can now be used in CTFE)
$(LI CTFE error messages now explain why the function could not be
interpreted at compile time)
)
$(BUGSFIXED
$(LI Fixed bug processing spaces in dmd's directory)
$(LI $(BUGZILLA 601): statement.html - Formatting/markup errors in BNF)
$(LI $(BUGZILLA 1461): Local variable as template alias parameter breaks CTFE)
$(LI $(BUGZILLA 1605): break in switch with goto breaks in ctfe)
$(LI $(BUGZILLA 1948): CTFE fails when mutating a struct in an array)
$(LI $(BUGZILLA 1950): CTFE doesn't work correctly for structs passed by ref)
$(LI $(BUGZILLA 2569): static arrays in CTFE functions don't compile)
$(LI $(BUGZILLA 2575): gdb can not show code)
$(LI $(BUGZILLA 2604): DW_TAG_module and GDB)
$(LI $(BUGZILLA 2940): null is null cannot be evaluated at compile time)
$(LI $(BUGZILLA 2960): CTFE rejects static array to dynamic array casts)
$(LI $(BUGZILLA 3039): -vtls compiler flag not listed in man file)
$(LI $(BUGZILLA 3165): What kind of integer division does D use?)
$(LI $(BUGZILLA 3166): "positive" -> "non-negative" in modulo operator description)
$(LI $(BUGZILLA 3168): Declaring structs as incomplete types no longer works)
$(LI $(BUGZILLA 3170): Forward reference of nested class fails if outer class is not plain)
$(LI $(BUGZILLA 3183): Spec of align attribute needs work)
$(LI $(BUGZILLA 3186): corrections for http://www.digitalmars.com/d/2.0/dmd-osx.html)
$(LI $(BUGZILLA 3192): asm in a anonymous delegate crash the compiler)
$(LI $(BUGZILLA 3196): Segfault(mtype.c) after almost any error involving a delegate literal)
$(LI $(BUGZILLA 3205): CTFE: $ cannot be used in lvalues)
$(LI $(BUGZILLA 3246): ICE(init.c) using indexed array initializer on local array)
$(LI $(BUGZILLA 3264): -O causes wrong "used before set" error when using enum.)
)
)
$(VERSION 046, Jul 6, 2009, =================================================,
$(WHATSNEW
$(LI $(BUGZILLA 3080): dmd should output compilation errors to stderr, not stdout)
)
$(BUGSFIXED
$(LI Fix dmd crash on multicore Windows.)
$(LI $(BUGZILLA 106): template - mixin sequence)
$(LI $(BUGZILLA 810): Cannot forward reference template)
$(LI $(BUGZILLA 852): ICE(toir.c) using local class in non-static nested function in nested static function)
$(LI $(BUGZILLA 854): TypeTuple in anonymous delegate causes ice in glue.c)
$(LI $(BUGZILLA 1054): regression: circular aliases cause compiler stack overflow)
$(LI $(BUGZILLA 1343): Various errors with static initialization of structs and arrays)
$(LI $(BUGZILLA 1358): ICE(root.c) on Unicode codepoints greater than 0x7FFFFFFF)
$(LI $(BUGZILLA 1459): ICE(cgcs.c) on attempt to set value of non-lvalue return struct)
$(LI $(BUGZILLA 1524): ICE(constfold.c) on using "is" with strings in CTFE)
$(LI $(BUGZILLA 1984): Assertion failure: 'e1->type' on line 1198 in file 'constfold.c')
$(LI $(BUGZILLA 2323): ICE(cgcs.c): taking address of a method of a temporary struct)
$(LI $(BUGZILLA 2429): std.stream.File incorrect flag parsing and sharing mode)
$(LI $(BUGZILLA 2432): complex alias -> mtype.c:125: virtual Type* Type::syntaxCopy(): Assertion `0' failed.)
$(LI $(BUGZILLA 2603): ICE(cgcs.c) on subtracting string literals)
$(LI $(BUGZILLA 2843): ICE(constfold.c) with is-expression with invalid dot-expression in is-expression involving typeid)
$(LI $(BUGZILLA 2884): ICE: Assert: 'template.c', line 3773, 'global.errors')
$(LI $(BUGZILLA 2888): [PATCH] speedup for float * 2.0)
$(LI $(BUGZILLA 2915): [Patch]: Optimize -a*-b into a*b)
$(LI $(BUGZILLA 2923): -O generates bad code for ?:)
$(LI $(BUGZILLA 2932): bad e_ehsize (36 != 52))
$(LI $(BUGZILLA 2952): Segfault on exit when using array ops with arrays of doubles larger than 8 elements)
$(LI $(BUGZILLA 3003): Need to implicitly add () on member template function calls)
$(LI $(BUGZILLA 3014): ICE(template.c) instantiating template with tuple)
$(LI $(BUGZILLA 3016): Errors in the documentation of std.math.acos)
$(LI $(BUGZILLA 3026): Segfault with incomplete static array initializer)
$(LI $(BUGZILLA 3044): Segfault(template.c) instantiating struct tuple constructor with zero arguments.)
$(LI $(BUGZILLA 3078): NaN reported as equal to zero)
$(LI $(BUGZILLA 3114): optlink failing on multicore machines)
$(LI $(BUGZILLA 3117): dmd crash by *1)
$(LI $(BUGZILLA 3128): Internal error: ..\ztc\cod4.c 2737)
$(LI $(BUGZILLA 3130): Crashed with triple stars)
)
)
$(VERSION 045, May 11, 2009, =================================================,
$(WHATSNEW
$(LI Folded in compiler/library changes by Unknown W. Brackets
to support Solaris.)
$(LI Migrate Posix uses of std.c.linux.linux to std.c.posix.posix)
$(LI added .typeinfo to ClassInfo $(BUGZILLA 2836): Navigate from ClassInfo to TypeInfo)
)
$(BUGSFIXED
$(LI Fix instruction scheduler bug on Linux)
$(LI $(BUGZILLA 642): error: mixin "static this" into where it cannot be)
$(LI $(BUGZILLA 713): circular const definitions with module operator "." cause the compiler to segfault)
$(LI $(BUGZILLA 752): Assertion failure: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c')
$(LI $(BUGZILLA 858): Forward reference to struct inside class crashes the compiler)
$(LI $(BUGZILLA 884): Segfault in recursive template)
$(LI $(BUGZILLA 934): Segfault taking mangleof a forward reference in a template.)
$(LI $(BUGZILLA 1011): illegal import declaration causes compile time segfault)
$(LI $(BUGZILLA 1054): regression: circular aliases cause segfaults)
$(LI $(BUGZILLA 1061): "asm inc [;" segfaults compiler.)
$(LI $(BUGZILLA 1195): regression: aliasing an enum member causes compile time segfaults)
$(LI $(BUGZILLA 1305): Compiler hangs with templated opCmp returning templated class)
$(LI $(BUGZILLA 1385): Stack Overflow with huge array literal.)
$(LI $(BUGZILLA 1428): Segfault on template specialization with delegates and tuples)
$(LI $(BUGZILLA 1586): DMD and GDC segfaults on incomplete code segment.)
$(LI $(BUGZILLA 1791): Segmentation fault with anon class in anon class and non-constant variable init)
$(LI $(BUGZILLA 1916): segfault on invalid string concat)
$(LI $(BUGZILLA 1946): Compiler crashes on attempt to implicit cast const typedef to non-const.)
$(LI $(BUGZILLA 2048): DMD crash on CTFE that involves assigning to member variables of void-initialized struct)
$(LI $(BUGZILLA 2061): wrong vtable call with multiple interface inheritance)
$(LI $(BUGZILLA 2215): Forward reference enum with base type within a struct causes Segmentation Fault in the compiler)
$(LI $(BUGZILLA 2309): Crash on a template mixing in a variadic template with an undefined template identifier)
$(LI $(BUGZILLA 2346): ICE when comparing typedef'd class)
$(LI $(BUGZILLA 2821): struct alignment inconsistent with C for { int, long })
$(LI $(BUGZILLA 2920): recursive templates blow compiler stack)
)
)
$(VERSION 044, Apr 9, 2009, =================================================,
$(WHATSNEW
$(LI Added std.c.posix.* to Phobos.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 675): %a format has an out-by-1 bug for denormals.)
$(LI $(BUGZILLA 2064): Segfault with mixin(for/foreach) with empty loop body)
$(LI $(BUGZILLA 2199): Segfault using array operation in function call)
$(LI $(BUGZILLA 2203): typeof(class.template.foo) crashes compiler)
)
)
$(VERSION 043, Apr 6, 2009, =================================================,
$(WHATSNEW
$(LI Added FreeBSD 7.1 support.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 2796): Dependency on libstdc++-v3)
)
)
$(VERSION 042, Mar 31, 2009, =================================================,
$(WHATSNEW
$(LI Added response files for Linux and OSX)
$(LI On Windows, if there are multiple source files on the command
line they are now read with a background thread. This may speed up
compilation.)
$(LI Folded in patches for LDC compatibility from Tomas Lindquist Olsen)
$(LI The $(B Posix) version identifier can now be set even though
it is reserved and predefined, because many build systems and makefiles
try to set it.)
)
$(BUGSFIXED
$(LI std.math.hypot is wrong for subnormal arguments)
$(LI Fix bug where / wasn't recognized as a path separator on Windows.)
$(LI $(BUGZILLA 920): Fix one more out of date reference to 'auto' rather than 'scope')
$(LI $(BUGZILLA 1923): GC optimization for contiguous pointers to the same page)
$(LI $(BUGZILLA 2319): "Win32 Exception" not very useful)
$(LI $(BUGZILLA 2570): Patch for some mistakes in Ddoc comments)
$(LI $(BUGZILLA 2591): custom allocator new argument should be size_t instead of uint)
$(LI $(BUGZILLA 2689): seek behaves incorrectly on MAC OSX)
$(LI $(BUGZILLA 2692): alignment of double on x86 linux is incorrect)
$(LI $(BUGZILLA 2705): Response file size cannot exceed 64kb)
$(LI $(BUGZILLA 2711): -H produces bad headers files if function defintion is templated and have auto return value)
$(LI $(BUGZILLA 2731): Errors in associative array example)
$(LI $(BUGZILLA 2743): dumpobj gives "buss error" on Tiger)
$(LI $(BUGZILLA 2744): wrong init tocbuffer of forstatement)
$(LI $(BUGZILLA 2745): missing token tochars in lexer.c)
$(LI $(BUGZILLA 2747): improper toCBuffer of funcexp)
$(LI $(BUGZILLA 2750): Optimize slice copy with size known at compile time)
$(LI $(BUGZILLA 2751): incorrect scope storage class vardeclaration tocbuffer)
$(LI $(BUGZILLA 2767): DMD incorrectly mangles NTFS stream names)
$(LI $(BUGZILLA 2772): lib can't open response file)
)
)
$(VERSION 041, Mar 3, 2009, =================================================,
$(WHATSNEW
$(LI Added buildable dmd source.)
$(LI Improved accuracy of exp, expm1, exp2, sinh, cosh, tanh on Mac OSX,
and tripled speed on all platforms.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 1629): Link error: Previous Definition Different: blablah__initZ)
$(LI $(BUGZILLA 1662): Falls back to libphobos if -debuglib isn't used when -g is)
$(LI $(BUGZILLA 1681): cast(real) ulong.max == 0)
$(LI $(BUGZILLA 2416): Slice of typedef'ed array should preserve the typedef'ed type)
$(LI $(BUGZILLA 2582): Significantly Increased Compile Times For DWT)
$(LI $(BUGZILLA 2670): std.file.read() should read files of 0 length)
$(LI $(BUGZILLA 2673): Static constructors sometimes do not run when compiling with -lib)
$(LI $(BUGZILLA 2678): for loops are already assumed to terminate)
$(LI $(BUGZILLA 2679): Spurious "warning - " messages and erratic behaviour with is(typeof({void function}())))
$(LI $(BUGZILLA 2690): DMD aborts with MALLOC_CHECK_ set)
)
)
$(VERSION 040, Feb 11, 2009, =================================================,
$(WHATSNEW
$(LI Added Mac OSX support.)
$(LI Separated bin and lib directories into windows, linux,
and osx.)
$(LI No longer need to download dmc to use the windows version.)
$(LI Use version(OSX) for Mac OSX. Although version(darwin) is
also supported for the time being, it is deprecated.)
)
$(BUGSFIXED
)
)
$(VERSION 039, Jan 14, 2009, =================================================,
$(WHATSNEW
$(LI Improved speed of long division.)
$(LI Added predefined $(LINK2 version.html#PredefinedVersions, version)
$(B D_Ddoc) which is predefined when $(B -D) switch is thrown.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 2517): DDoc omits abstract on classes)
$(LI $(BUGZILLA 2518): scope(success) not execuate and RAII variable destructor is not called)
$(LI $(BUGZILLA 2519): Segfault when >> used in an invalid slice)
$(LI $(BUGZILLA 2527): Alias Template Params Are Always Same Type As First Instantiation (according to typeof(x).stringof))
$(LI $(BUGZILLA 2531): DDoc not generated correctly for struct methods inside static if)
$(LI $(BUGZILLA 2537): compiler crashes on this code:)
$(LI $(BUGZILLA 2542): array casts behave differently at compile and runtime)
)
)
$(VERSION 038, Dec 11, 2008, =================================================,
$(WHATSNEW
$(LI Changed IUnknown to use the extern(System) interface rather
that extern(Windows).)
$(LI Added Partial IFTI $(BUGZILLA 493))
)
$(BUGSFIXED
$(LI $(BUGZILLA 1518): Crash using 'scope', 'with' and undefined 'RegExp')
$(LI $(BUGZILLA 1685): Array index is evaluated twice)
$(LI $(BUGZILLA 1963): -H creates broken headers)
$(LI $(BUGZILLA 2041): Spec implies relationship between interfaces and COM objects)
$(LI $(BUGZILLA 2105): added patch)
$(LI $(BUGZILLA 2468): result type of AndAndExp and OrOrExp deduced incorrectly)
$(LI $(BUGZILLA 2489): import in struct causes assertion failure)
$(LI $(BUGZILLA 2490): extern(C++) can not handle structs as return types)
$(LI $(BUGZILLA 2492): ICE building on Linux with -lib option)
$(LI $(BUGZILLA 2499): Template alias default value cannot be template instantiation)
$(LI $(BUGZILLA 2500): template struct methods are left unresolved if imported from multiple modules)
$(LI $(BUGZILLA 2501): member function marked as final override ignores override requirements)
$(LI Incorporated some of the patches from $(BUGZILLA 1752))
)
)
$(VERSION 037, Nov 25, 2008, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 313): Fully qualified names bypass private imports)
$(LI $(BUGZILLA 341): Undocumented function void print() in object.d)
$(LI $(BUGZILLA 929): Resizing array of associative arrays (uint[char[]][]) causes infinite loop / hang)
$(LI $(BUGZILLA 1372): Compiler accepts pragma(msg,))
$(LI $(BUGZILLA 1610): Enum.stringof is int, not the name of the enum)
$(LI $(BUGZILLA 1663): pragma(lib, "") don't work on linux)
$(LI $(BUGZILLA 1797): Documentation comments - ///)
$(LI $(BUGZILLA 2326): Methods within final class are not considered final when optimizing)
$(LI $(BUGZILLA 2429): std.stream.File incorrect flag parsing and sharing mode)
$(LI $(BUGZILLA 2431): Internal error: ../ztc/cgcod.c 1031 when using -O)
$(LI $(BUGZILLA 2470): Cannot build libraries from other libraries)
$(LI unittest functions now always use D linkage)
)
)
$(VERSION 036, Oct 20, 2008, =================================================,
$(WHATSNEW
$(LI Improved performance of AAs by rebalancing trees when rehashing.)
)
$(BUGSFIXED
$(LI $(BUGZILLA 1229): Linker fills disk)
$(LI $(BUGZILLA 2340): Template properties don't work)
$(LI $(BUGZILLA 2365): compilation error: static const array in struct)
$(LI $(BUGZILLA 2368): Calling a function with an address of another function, then calling a returned object is rejected)
$(LI $(BUGZILLA 2373): freebsd select does not accept values > 999,999)
$(LI $(BUGZILLA 2376): CTFE fails on array literal of array literals of chars)
$(LI $(BUGZILLA 2380): static struct initializer accepted as non static initializer is not documented)
$(LI $(BUGZILLA 2383): default arguments can implicitly access private global variables that are not visible at call site)
$(LI $(BUGZILLA 2385): spec says all structs are returned via hidden pointer on linux, but it uses registers)
$(LI $(BUGZILLA 2390): Missing warning on conversion from int to char)
)
)
$(VERSION 035, Sep 2, 2008, =================================================,
$(WHATSNEW
)
$(BUGSFIXED
$(LI $(BUGZILLA 1627): ICE with a method called _ctor)
$(LI $(BUGZILLA 1633): Nonsensical "C style cast illegal" message with !is)
$(LI $(BUGZILLA 1637): regression: new unittest failure in std/math2.d, odd cosh() behavior)
$(LI $(BUGZILLA 1763): EndianStream doesn't handle ubyte/byte read/writes. Simple fix.)
$(LI $(BUGZILLA 1771): dmd fails to execute on linux)
$(LI $(BUGZILLA 1773): excessively long integer literal)
$(LI $(BUGZILLA 1785): Mixing in an incorrect array literal causes infinite loop.)
$(LI $(BUGZILLA 2176): Assertion failure: 'sz == es2->sz' on line 1339 in file 'constfold.c' (concatenating strings of different types))
$(LI $(BUGZILLA 2183): Bad formatting in std.c.stdlib)
$(LI $(BUGZILLA 2232): DMD generates invalid code when an object file is compiled -inline)
$(LI $(BUGZILLA 2241): DMD abort)
$(LI $(BUGZILLA 2243): const bool = is(function literal), badly miscast)
$(LI $(BUGZILLA 2262): -inline breaks -lib library)
$(LI $(BUGZILLA 2286): movmskpd compiled incorrectly)
$(LI $(BUGZILLA 2308): CTFE crash on foreach over nonexistent variable)
$(LI $(BUGZILLA 2311): Static destructors in templates are never run)
$(LI $(BUGZILLA 2314): Crash on anonymous class variable instantiation)
$(LI $(BUGZILLA 2317): asm offsetof generates: Internal error: ../ztc/cod3.c 2651)
)
)
$(VERSION 034, Aug 7, 2008, =================================================,
$(WHATSNEW
$(LI Now supports $(LINK2 arrays.html#array-operations, array operations).)
)
$(BUGSFIXED
$(LI Added hash to generated module names when building libs to reduce collisions)
$(LI $(BUGZILLA 1622): parameters to TypeInfo_Struct.compare seem to be switched around.)
$(LI $(BUGZILLA 2216): bad code generation for static arrays of zero length static arrays)
$(LI $(BUGZILLA 2223): Typo in error message)
$(LI $(BUGZILLA 2242): linux system calls are canceled by GC)
$(LI $(BUGZILLA 2247): bad header file generated for if (auto o = ...) {})
$(LI $(BUGZILLA 2248): .di should be a supported file extension)
$(LI $(BUGZILLA 2250): Update of user32.lib and kernel32.lib)
$(LI $(BUGZILLA 2254): Size of executable almost triples)
$(LI $(BUGZILLA 2258): Docs -> Inline Assembler -> Operand Types -> qword missing)
$(LI $(BUGZILLA 2259): Assertion failure: '0' on line 122 in file 'statement.c')
$(LI $(BUGZILLA 2269): D BUG: cosine of complex)
$(LI $(BUGZILLA 2272): synchronized attribute documentation)
$(LI $(BUGZILLA 2273): Whitespace is not inserted after commas)
)
)
$(VERSION 033, Jul 11, 2008, =================================================,