root/trunk/docsrc/changelog.d

Revision 1823, 82.1 kB (checked in by walter, 2 years ago)

merge changelogs

Line 
1 Ddoc
2
3 $(D_S D Change Log,
4
5 $(VERSION 063, Aug 8, 2010, =================================================,
6
7     $(WHATSNEW
8     $(LI $(BUGZILLA 4080): Patch for building dynamic libraries on Mac OS X)
9     )
10     $(BUGSFIXED
11     $(LI $(BUGZILLA 1418): tupleof bug on nested classes)
12     $(LI $(BUGZILLA 1678): ref with varargs generates invalid code)
13     $(LI $(BUGZILLA 2931): Initialization struct with array from another struct)
14     $(LI $(BUGZILLA 3560): foreach over nested function generates wrong code)
15     $(LI $(BUGZILLA 3569): DMD Stack Overflow with a struct member function inside a C-style struct initializer)
16     $(LI $(BUGZILLA 3706): delegates of interfaces with multiple inheritance fail)
17     $(LI $(BUGZILLA 4191): [FreeBSD] real constants are rounded to double precision)
18     $(LI $(BUGZILLA 4198): [FreeBSD] imprecision in decimal floating-point literals)
19     $(LI $(BUGZILLA 4238): Segfault(statement.c): with(typeof(int)))
20     $(LI $(BUGZILLA 4303): __traits(compiles) returns wrong result when used recursively)
21     $(LI $(BUGZILLA 4314): Regression(1.062): Expression array1 && array2 doesn't compile)
22     $(LI $(BUGZILLA 4339): Struct destructor + invariant + struct parameter = horrific error message)
23     $(LI $(BUGZILLA 4396): mkdir race prevents concurrent compiling with DMD using make -j)
24     $(LI $(BUGZILLA 4443): Optimizer produces wrong code for || or && with struct arrays)
25     $(LI $(BUGZILLA 4506): Regression(2.034): -O flag breaks some recursive functions)
26     $(LI $(BUGZILLA 4514): Regression: Cannot cast from X* to X)
27     $(LI $(BUGZILLA 4569): extern(c++) doesn't understand const types, produces bad mangled symbol)
28     $(LI $(BUGZILLA 4578): Regression(2.047,1.062): ICE(cgcod.c): var+arr[])
29     )
30 )
31
32 <div id=version>
33 $(UL 
34     $(NEW1 063)
35     $(NEW1 062)
36     $(NEW1 061)
37     $(NEW1 060)
38     $(NEW1 059)
39     $(NEW1 058)
40     $(NEW1 057)
41     $(NEW1 056)
42     $(NEW1 055)
43     $(NEW1 054)
44     $(NEW1 053)
45     $(NEW1 052)
46     $(NEW1 051)
47     $(NEW1 050)
48     $(NEW1 049)
49     $(NEW1 048)
50     $(NEW1 047)
51     $(NEW1 046)
52     $(NEW1 045)
53     $(NEW1 044)
54     $(NEW1 043)
55     $(NEW1 042)
56     $(NEW1 041)
57     $(NEW1 040)
58     $(NEW1 039)
59     $(NEW1 038)
60     $(NEW1 037)
61     $(NEW1 036)
62     $(NEW1 035)
63     $(NEW1 034)
64     $(NEW1 033)
65     $(NEW1 032)
66     $(NEW1 031)
67     $(NEW1 030)
68     $(NEW1 029)
69     $(NEW1 028)
70     $(NEW1 027)
71     $(NEW1 026)
72     $(NEW1 025)
73     $(NEW1 024)
74     $(NEW1 023)
75     $(NEW1 022)
76     $(NEW1 021)
77     $(NEW1 020)
78     $(NEW1 019)
79     $(NEW1 018)
80     $(NEW1 017)
81     $(NEW1 016)
82     $(NEW1 015)
83     $(NEW1 014)
84     $(NEW1 013)
85     $(NEW1 012)
86     $(NEW1 011)
87     $(NEW1 010)
88     $(NEW1 009)
89     $(NEW1 007)
90     $(NEW1 006)
91     $(NEW1 005)
92     $(NEW1 004)
93     $(NEW1 003)
94     $(NEW1 002)
95     $(NEW1 001)
96
97     $(LI $(LINK2 http://www.digitalmars.com/d/changelog.html, change log for D 2.0))
98     $(LI $(LINK2 changelog2.html, older versions))
99     $(LI $(LINK2 changelog1.html, even older versions))
100
101     $(LI Download latest stable (1.030)
102      <a HREF="http://ftp.digitalmars.com/dmd.1.030.zip" title="download D compiler">
103      D compiler</a> for Win32 and x86 linux)
104
105     $(LI $(LINK2 http://www.digitalmars.com/pnews/index.php?category=2, tech support))
106 $(COMMENT
107     $(LI $(LINK2 http://www.digitalmars.com/drn-bin/wwwnews?newsgroups=*, tech support))
108 )
109 )
110 </div>
111
112 $(VERSION 062, Jun 9, 2010, =================================================,
113
114     $(WHATSNEW
115     $(LI $(BUGZILLA 2008): Poor optimization of functions with ref parameters)
116     $(LI $(BUGZILLA 4296): Reduce parasitic error messages)
117     )
118     $(BUGSFIXED
119     $(LI $(BUGZILLA 1193): regression: "matches more than one template declaration" doesn't list the location of the conflicting templates)
120     $(LI $(BUGZILLA 1894): scope(exit) is ignored except in compound statements)
121     $(LI $(BUGZILLA 1941): missing line on inaccesable external private module member)
122     $(LI $(BUGZILLA 2127): inliner turns struct "return *this" from by-value into by-ref)
123     $(LI $(BUGZILLA 2276): Error message missing line number on array operation)
124     $(LI $(BUGZILLA 2546): Array Ops silently fail when no slice symbol is used.)
125     $(LI $(BUGZILLA 2881): x.stringof returns typeof(x).stringof when x is an enum)
126     $(LI $(BUGZILLA 3064): Invalid array operation accepted, generates bad code)
127     $(LI $(BUGZILLA 3323): Segfault or ICE(e2ir.c) using struct with destructor almost anywhere)
128     $(LI $(BUGZILLA 3398): Attributes inside a union screws data alignment)
129     $(LI $(BUGZILLA 3547): for option -od for relative path the path is added twice)
130     $(LI $(BUGZILLA 3548): ICE occurs when an array is returned from a function is incorrectly used in an array op expression.)
131     $(LI $(BUGZILLA 3651): mangleof broken for enums)
132     $(LI $(BUGZILLA 3854): Error on static initialization of arrays with trailing comma.)
133     $(LI $(BUGZILLA 4003): The result changes only with the order of source files.)
134     $(LI $(BUGZILLA 4045): [CTFE] increasing array length)
135     $(LI $(BUGZILLA 4052): [CTFE] increment from array item)
136     $(LI $(BUGZILLA 4078): [CTFE] Failed return of dynamic array item)
137     $(LI $(BUGZILLA 4084): Ignored missing main() closing bracket)
138     $(LI $(BUGZILLA 4143): fix warnings in dmd build)
139     $(LI $(BUGZILLA 4156): Segfault with array+=array)
140     $(LI $(BUGZILLA 4169): building dmd with a modern gcc produces a buggy compiler)
141     $(LI $(BUGZILLA 4175): linux.mak doesn't declare sufficient dependencies to support parallel builds)
142     $(LI $(BUGZILLA 4210): Random crashes / heisenbugs caused by dmd commit 478: compiler messes up vtables)
143     $(LI $(BUGZILLA 4212): DWARF: void arrays cause gdb errors)
144     $(LI $(BUGZILLA 4213): Strange behaviour with static void[] arrays)
145     $(LI $(BUGZILLA 4242): ICE(module.c): importing a module with same name as package)
146     $(LI $(BUGZILLA 4252): [CTFE] No array bounds checking in assignment to char[] array)
147     $(LI $(BUGZILLA 4257): ICE(interpret.c): passing parameter into CTFE as ref parameter)
148     $(LI $(BUGZILLA 4259): Header generation omits leading '@' for properties)
149     $(LI $(BUGZILLA 4270): Missing line number in 'can only catch class objects' error message)
150     )
151 )
152
153 $(VERSION 061, May 10, 2010, =================================================,
154
155     $(WHATSNEW
156     $(LI Add hints for missing import declarations.)
157     $(LI Speed up compilation.)
158     )
159     $(BUGSFIXED
160     $(LI Fix hanging problem on undefined identifiers.)
161     $(LI $(BUGZILLA 461): Constant not understood to be constant when circular module dependency exists.)
162     $(LI $(BUGZILLA 945): template forward reference with named nested struct only)
163     $(LI $(BUGZILLA 1055): union forward reference "overlapping initialization" error)
164     $(LI $(BUGZILLA 2085): CTFE fails if the function is forward referenced)
165     $(LI $(BUGZILLA 2386): Array of forward referenced struct doesn't compile)
166     $(LI $(BUGZILLA 4015): forward reference in alias causes error)
167     $(LI $(BUGZILLA 4016): const initializer cannot forward reference other const initializer)
168     $(LI $(BUGZILLA 4042): Unable to instantiate a struct template.)
169     $(LI $(BUGZILLA 4100): Break and continue to label should mention foreach)
170     )
171 )
172
173
174 $(VERSION 060, May 4, 2010, =================================================,
175
176     $(WHATSNEW
177     )
178     $(BUGSFIXED
179     $(LI Another try at fixing the Dwarf issues.)
180     )
181 )
182
183 $(VERSION 059, Apr 30, 2010, =================================================,
184
185     $(WHATSNEW
186     $(LI Improve spelling checking distance to 2.)
187     )
188     $(BUGSFIXED
189     $(LI $(BUGZILLA 1079): gdb: Dwarf Error: Cannot find DIE at 0xb705 referenced from DIE at 0x250)
190     $(LI $(BUGZILLA 2549): Segfault on array multiplication.)
191     $(LI $(BUGZILLA 3066): Array operation without a slice as the lvalue accepted, bad codegen)
192     $(LI $(BUGZILLA 3207): gdb: Push D patches upstream)
193     $(LI $(BUGZILLA 3415): broken JSON output)
194     $(LI $(BUGZILLA 3522): ICE(cg87.c): variable*array[].)
195     $(LI $(BUGZILLA 3974): ICE(init.c): Static array initializer with more elements than destination array)
196     $(LI $(BUGZILLA 3987): [gdb] Invalid DWARF output for function pointers)
197     $(LI $(BUGZILLA 4036): Segfault with -inline and literal of struct containing union)
198     $(LI $(BUGZILLA 4037): [gdb] Invalid DWARF output for wchar)
199     $(LI $(BUGZILLA 4038): [gdb] Invalid DWARF output for function pointers with ref args)
200     $(LI $(BUGZILLA 4067): [CTFE] Code inside try-catch blocks is silently ignored)
201     $(LI $(BUGZILLA 4089): crash when creating JSON output for incomplete struct)
202     $(LI $(BUGZILLA 4093): Segfault(interpret.c): with recursive struct templates)
203     $(LI $(BUGZILLA 4105): Stack overflow involving alias template parameters and undefined identifier)
204     )
205 )
206
207 $(VERSION 058, Apr 6, 2010, =================================================,
208
209     $(WHATSNEW
210     )
211     $(BUGSFIXED
212     $(LI $(BUGZILLA 122): DDoc newline behaviour produces suboptimal results)
213     $(LI $(BUGZILLA 1628): Ddoc produces invalid documentation for --- blocks)
214     $(LI $(BUGZILLA 2609): No documentation generated for destructor)
215     $(LI $(BUGZILLA 3808): Assertion Failure : Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 870 in file 'toobj.c')
216     $(LI $(BUGZILLA 3842): ICE(expression.c) using pointer in CTFE)
217     $(LI $(BUGZILLA 3884): Segfault: defining a typedef with an invalid object.d)
218     $(LI $(BUGZILLA 3885): No multithread support for Windows DLL)
219     $(LI $(BUGZILLA 3899): CTFE: poor error message for use of uninitialized variable)
220     $(LI $(BUGZILLA 3900): CTFE: Wrong return value for array.var assignment)
221     $(LI $(BUGZILLA 3901): PATCH: Nested struct assignment for CTFE)
222     $(LI $(BUGZILLA 3914): Struct as argument that fits in register has member accessed wrong)
223     $(LI $(BUGZILLA 3919): ICE(expression.c, 9944): * or / with typedef ireal)
224     $(LI $(BUGZILLA 3920): Assertion failure: '0' on line 10018 in file 'expression.c')
225     $(LI $(BUGZILLA 3958): mixin(non-static method) crashes compiler)
226     $(LI $(BUGZILLA 3972): Regarding module with name different from its file name)
227     $(LI $(BUGZILLA 4002): dmd.conf and binary path in dmd -v output)
228     $(LI $(BUGZILLA 4004): DMD 2.042 CTFE regression with functions taking ref parameters)
229     $(LI $(BUGZILLA 4005): std.c.stdlib.exit in CTFE and more)
230     $(LI $(BUGZILLA 4011): Incorrect function overloading using mixins)
231     $(LI $(BUGZILLA 4019): [CTFE] Adding an item to an empty AA)
232     $(LI $(BUGZILLA 4020): [ICE][CTFE] struct postblit in CTFE)
233     $(LI $(BUGZILLA 4027): Closures in CTFE generate wrong code)
234     $(LI $(BUGZILLA 4029): CTFE: cannot invoke delegate returned from function)
235     )
236 )
237
238
239 $(VERSION 057, Mar 7, 2010, =================================================,
240
241     $(WHATSNEW
242     $(LI Warnings no longer halt the parsing/semantic passes, though they still return
243      an error status and still do not generate output files. They also no longer count
244      as errors when testing with "compiles" traits.)
245     $(LI Added $(B -wi) switch for $(BUGZILLA 2567))
246     $(LI Associative array contents can now be compared for equality)
247     $(LI Add simple spell checking.)
248     )
249     $(BUGSFIXED
250     $(LI $(BUGZILLA 2321): spec on inline asm can be misunderstood)
251     $(LI $(BUGZILLA 2463): No line number in "statement is not reachable" warning)
252     $(LI $(BUGZILLA 3029): Bug in array value mangling rule)
253     $(LI $(BUGZILLA 3306): bad function/delegate literal generated into header files)
254     $(LI $(BUGZILLA 3373): bad codeview debug info for long and ulong)
255     $(LI Posix only, $(BUGZILLA 3420): [PATCH] Allow string import of files using subdirectories)
256     $(LI $(BUGZILLA 3450): incorrect result for is (typeof({ ... }())) inside a struct)
257     $(LI $(BUGZILLA 3500): super behaves differently with -inline)
258     $(LI $(BUGZILLA 3558): Optimizer bug results in false if condition being taken)
259     $(LI $(BUGZILLA 3670): Declarator grammar rule is broken)
260     $(LI $(BUGZILLA 3710): Typo in allMembers description?)
261     $(LI $(BUGZILLA 3736): corrupted struct returned by function with optimizations (-O))
262     $(LI $(BUGZILLA 3737): SEG-V at expression.c:6255 from bad opDispatch)
263     $(LI $(BUGZILLA 3768): reapeted quotes in ddoc.html)
264     $(LI $(BUGZILLA 3769): Regression: Segfault(constfold.c) array literals and case statements)
265     $(LI $(BUGZILLA 3775): Segfault(cast.c): casting no-parameter template function using property syntax)
266     $(LI $(BUGZILLA 3781): ICE(interpret.c): using no-argument C-style variadic function in CTFE)
267     $(LI $(BUGZILLA 3792): Regression: "non-constant expression" for a template inside a struct using a struct initializer)
268     $(LI $(BUGZILLA 3803): compiler segfaults)
269     $(LI $(BUGZILLA 3840): Jump to: section in the docs should be sorted)
270     )
271 )
272
273 $(VERSION 056, Jan 29, 2010, =================================================,
274
275     $(WHATSNEW
276     $(LI Clarification: function returns are not lvalues)
277     $(LI Add $(B -map) command line switch)
278     $(LI Delegates and function pointers may be used in CTFE)
279     $(LI Delegate literals and function literals may be used in CTFE)
280     $(LI Lazy function parameters may now be used in CTFE)
281     $(LI Slicing of char[] arrays may now be used in CTFE)
282     )
283     $(BUGSFIXED
284     $(LI $(CPPBUGZILLA 48): Internal error: cgreg 784)
285     $(LI $(BUGZILLA 1298): CTFE: tuple foreach bugs)
286     $(LI $(BUGZILLA 1790): CTFE: foreach(Tuple) won't compile if Tuple contains string)
287     $(LI $(BUGZILLA 2101): CTFE: Please may I use mutable arrays at compile time?)
288     $(LI Partial fix for $(BUGZILLA 3569), stops the stack overflow)
289     $(LI $(BUGZILLA 3668): foreach over typedef'd array crashes dmd)
290     $(LI $(BUGZILLA 3674): forward reference error with multiple overloads with same name)
291     $(LI $(BUGZILLA 3685): Regression(D1 only): DMD silently exits on valid code)
292     $(LI $(BUGZILLA 3687): Array operation "slice times scalar" tramples over memory)
293     $(LI $(BUGZILLA 3719): forward references can cause out-of-memory error)
294     $(LI $(BUGZILLA 3723): Regression: forward referenced enum)
295     $(LI $(BUGZILLA 3724): bug in Expression::arraySyntaxCopy (null pointer dereference on struct->union->struct))
296     $(LI $(BUGZILLA 3726): Regression: ICE(mangle.c 81): struct forward reference with static this)
297     $(LI $(BUGZILLA 3740): Regression: class with fwd reference of a nested struct breaks abstract)
298     )
299 )
300
301 $(VERSION 055, Jan 1, 2010, =================================================,
302
303     $(WHATSNEW
304     )
305     $(BUGSFIXED
306     $(LI $(BUGZILLA 3663): struct forward reference regresssion)
307     $(LI $(BUGZILLA 3664): struct forward declaration causes enum to conflict with itself)
308     )
309 )
310
311 $(VERSION 054, Dec 30, 2009, =================================================,
312
313     $(WHATSNEW
314     )
315     $(BUGSFIXED
316     $(LI $(CPPBUGZILLA 45): Internal error: cgcod 1594)
317     $(LI $(CPPBUGZILLA 46): Constant folding with long doubles)
318     $(LI $(NG_digitalmars_D 103391): D1 garbage collector + threads + malloc = garbage?)
319     $(LI $(BUGZILLA 282): Bizarre circular import nested name invisibility issue)
320     $(LI $(BUGZILLA 390): Cannot forward reference enum nested in struct)
321     $(LI $(BUGZILLA 400): forward reference error; no propety X for type Y (struct within struct))
322     $(LI $(BUGZILLA 1160): enums can not be forward referenced)
323     $(LI $(BUGZILLA 1564): Forward reference error for enum in circular import)
324     $(LI $(BUGZILLA 2029): Typesafe variadic functions don't work in CTFE)
325     $(LI $(BUGZILLA 2816): Sudden-death static assert is not very useful)
326     $(LI $(BUGZILLA 3455): Some Unicode characters not allowed in identifiers)
327     $(LI $(BUGZILLA 3575): CTFE: member structs not initialized correctly)
328     $(LI $(BUGZILLA 3584): DeclDef rule is missing entries)
329     $(LI $(BUGZILLA 3585): Duplicate clauses in EqualExpression and RelExpression rules)
330     $(LI $(BUGZILLA 3587): Aggregate rule references undefined Tuple)
331     $(LI $(BUGZILLA 3588): WithStatement rule references unspecified Symbol)
332     $(LI $(BUGZILLA 3589): BaseClassList and InterfaceClasses rules are incorrect, missing ',')
333     $(LI $(BUGZILLA 3590): FunctionParameterList rule is missing)
334     $(LI $(BUGZILLA 3591): TemplateIdentifier rule is misspelled)
335     $(LI $(BUGZILLA 3592): ClassTemplateDeclaration and FunctionTemplateDeclaration rules are unreferenced)
336     $(LI $(BUGZILLA 3593): IntegerExpression rule unspecified)
337     $(LI $(BUGZILLA 3594): AsmPrimaryExp rule references unspecified rules)
338     $(LI $(BUGZILLA 3595): Several rules are missing ':' after rule name)
339     $(LI $(BUGZILLA 3601): Debug and Release builds of DMD produce different object files)
340     $(LI $(BUGZILLA 3611): Enum forward referencing regression)
341     $(LI $(BUGZILLA 3612): ExpressionList is undefined)
342     $(LI $(BUGZILLA 3617): CTFE: wrong code for if(x) where x is int or smaller)
343     $(LI $(BUGZILLA 3628): can't cast null to int)
344     $(LI $(BUGZILLA 3633): Optimizer causes access violation)
345     $(LI $(BUGZILLA 3645): manifest constant (enum) crashes dmd)
346     )
347 )
348
349 $(VERSION 053, Dec 3, 2009, =================================================,
350
351     $(WHATSNEW
352     )
353     $(BUGSFIXED
354     $(LI $(BUGZILLA 111): appending a dchar to a char[])
355     $(LI $(BUGZILLA 370): Compiler stack overflow on recursive typeof in function declaration.)
356     $(LI $(BUGZILLA 2229): ICE(template.c) instantiating an invalid variadic template with more than one argument)
357     $(LI $(BUGZILLA 2967): spec does not mention that inline asm is a valid "return" statement)
358     $(LI $(BUGZILLA 3115): &gt;&gt;&gt; and &gt;&gt;&gt;= generate wrong code)
359     $(LI $(BUGZILLA 3171): % not implemented correctly for floats)
360     $(LI $(BUGZILLA 3381): [tdpl] Incorrect assessment of overriding in triangular-shaped hierarchy)
361     $(LI $(BUGZILLA 3469): ICE(func.c): Regression. Calling non-template function as a template, from another module)
362     $(LI $(BUGZILLA 3495): Segfault(typinf.c) instantiating D variadic function with too few arguments)
363     $(LI $(BUGZILLA 3496): ICE(cgelem.c, optimizer bug) cast(void *)(x&1)== null.)
364     $(LI $(BUGZILLA 3502): Fix for dropped Mac OS X 10.5)
365     $(LI $(BUGZILLA 3521): Optimized code access popped register)
366     $(LI $(BUGZILLA 3540): Another DWARF line number fix)
367     )
368 )
369
370 $(VERSION 052, Nov 12, 2009, =================================================,
371
372     $(WHATSNEW
373     $(LI OSX versions 10.5 and older are no longer supported.)
374     )
375     $(BUGSFIXED
376     $(LI Works on OSX 10.6 now.)
377     )
378 )
379
380 $(VERSION 051, Nov 5, 2009, =================================================,
381
382     $(WHATSNEW
383     )
384     $(BUGSFIXED
385     $(LI Problem with complicated array op expressions)
386     $(LI $(BUGZILLA 195): DDoc generates bad output when example contains "protected" attribute)
387     $(LI $(BUGZILLA 424): Unexpected OPTLINK Termination at EIP=0044C37B (too many fixups))
388     $(LI $(BUGZILLA 874): Bad codegen: wrong value variable in tuple foreach, D1 only)
389     $(LI $(BUGZILLA 1117): ddoc generates corrupted docs if code examples contain attributes with colons)
390     $(LI $(BUGZILLA 1812): DDOC - Unicode identifiers are not correctly marked.)
391     $(LI $(BUGZILLA 2862): ICE(template.c) using type tuple as function argument)
392     $(LI $(BUGZILLA 3292): ICE(todt.c) when using a named mixin with an initializer as template alias parameter)
393     $(LI $(BUGZILLA 3397): Unintended function call to static opCall)
394     $(LI $(BUGZILLA 3401): Compiler crash on invariant + method overload)
395     $(LI $(BUGZILLA 3422): ICE(cgcod.c) Structs with default initializers bigger than register size cannot be default parameters)
396     $(LI $(BUGZILLA 3426): ICE(optimize.c): struct literal with cast, as function default parameter.)
397     $(LI $(BUGZILLA 3432): ICE(e2ir.c): casting template expression)
398     )
399 )
400
401 $(VERSION 050, Oct 14, 2009, =================================================,
402
403     $(WHATSNEW
404     $(LI Use $(B -X) to generate JSON files.)
405     )
406     $(BUGSFIXED
407     $(LI Fold in patch from $(BUGZILLA 1170))
408     $(LI $(BUGZILLA 923): No constant folding for template value default arguments, D1 only)
409     $(LI $(BUGZILLA 1534): Can't mix in a case statement.)
410     $(LI $(BUGZILLA 2423): Erroneous unreachable statement warning)
411     $(LI $(BUGZILLA 3392): a cast of this to void in tango.core.Thread is not allowed)
412     )
413 )
414
415 $(VERSION 049, Oct 11, 2009, =================================================,
416
417     $(WHATSNEW
418     )
419     $(BUGSFIXED
420     $(LI $(BUGZILLA 258): Undefined identifier error for circular import)
421     $(LI $(BUGZILLA 928): nested struct definition in unittest section of a templated class, hangs DMD)
422     $(LI $(BUGZILLA 1140): ICE(cod1.c) casting last function parameter to 8 byte value)
423     $(LI $(BUGZILLA 1592): dmd fail to resolve class symbol when i put files in a package)
424     $(LI $(BUGZILLA 1787): Compiler segfaults on circular references.)
425     $(LI $(BUGZILLA 1897): ICE(template.c) with tuple delegate)
426     $(LI $(BUGZILLA 1934): ICE(e2ir.c) using static array as AA key)
427     $(LI $(BUGZILLA 2229): ICE(template.c) instantiating an invalid variadic template with more than one argument)
428     $(LI $(BUGZILLA 2687): ICE(statement.c): tuple foreach in an erroneous template.)
429     $(LI $(BUGZILLA 2773): ICE(go.c) array assignment through a pointer, only with -O.)
430     $(LI $(BUGZILLA 2829): ICE(expression.c) static array block-initialized in struct literal)
431     $(LI $(BUGZILLA 2851): Segfault(expression.c) using C-style struct initializer with too few arguments)
432     $(LI $(BUGZILLA 3006): ICE(e2ir.c, tocsym.c) template module using array operation)
433     $(LI $(BUGZILLA 3041): Array slices can be compared to their element type: bad codegen or ICE)
434     $(LI $(BUGZILLA 3101): Stack overflow: declaring aggregate member twice with static if)
435     $(LI $(BUGZILLA 3174): ICE(mtype.c): Compiler crash or compiler error with auto returns and const / immutable / invarient / pure)
436     $(LI $(BUGZILLA 3176): Compiler hangs on poorly formed mixin in variadic template)
437     $(LI $(BUGZILLA 3261): compiler crash with mixin and forward reference)
438     $(LI $(BUGZILLA 3286): Default parameter prevents to resolve inter-module circular dependency)
439     $(LI $(BUGZILLA 3301): Undefined identifier error dependent on order of imports when a circular import is involved)
440     $(LI $(BUGZILLA 3325): ICE(func.c) function literal with post-contract)
441     $(LI $(BUGZILLA 3343): Crash by "auto main(){}")
442     $(LI $(BUGZILLA 3344): ICE(e2ir.c) returning an invalid function from main())
443     $(LI $(BUGZILLA 3357): ICE(cod1.c) using 'in' with a static char array as AA key)
444     $(LI $(BUGZILLA 3366): Segfault(declaration.c) variadic template with unmatched constraint)
445     $(LI $(BUGZILLA 3374): [tdpl] ICE(init.c): Associative array type not inferred)
446     )
447 )
448
449 $(VERSION 048, Oct 5, 2009, =================================================,
450
451     $(WHATSNEW
452     $(LI Compiler now detects some cases of illegal null dereferencing when compiled with -O)
453     $(LI $(BUGZILLA 2905): Faster +-*/ involving a floating-pointing literal)
454     )
455     $(BUGSFIXED
456     $(LI gdb stack trace should work now)
457     $(LI $(BUGZILLA 302): in/out contract inheritance yet to be implemented)
458     $(LI $(BUGZILLA 718): ICE(cgcod.c) with int /= cast(creal))
459     $(LI $(BUGZILLA 814): lazy argument + variadic arguments = segfault)
460     $(LI $(BUGZILLA 1168): Passing a .stringof of an expression as a template value parameter results in the string of the type)
461     $(LI $(BUGZILLA 1571): Segfault(class.c) const on function parameters not carried through to .di file)
462     $(LI $(BUGZILLA 1731): forward reference of function type alias resets calling convention)
463     $(LI $(BUGZILLA 2202): Error getting type of non-static member of a class)
464     $(LI $(BUGZILLA 2469): ICE(cod1.c) arbitrary struct accepted as struct initializer)
465     $(LI $(BUGZILLA 2697): Cast of float function return to ulong or uint gives bogus value)
466     $(LI $(BUGZILLA 2702): Struct initialisation silently inserts deadly casts)
467     $(LI $(BUGZILLA 2839): ICE(cgcs.c) with int /= imaginary)
468     $(LI $(BUGZILLA 3049): ICE(cod4.c) or segfault: Array operation on void[] array)
469     $(LI $(BUGZILLA 3059): Nonsensical complex op= should be illegal)
470     $(LI $(BUGZILLA 3160): ICE(cgcod.c 1511-D1) or bad code-D2 returning string from void main)
471     $(LI $(BUGZILLA 3304): Segfault using 'is' with a pointer enum.)
472     $(LI $(BUGZILLA 3305): Segfault(expression.c) with recursive struct template alias expressions)
473     $(LI $(BUGZILLA 3335): minor warning cleanups)
474     $(LI $(BUGZILLA 3336): ICE(glue.c) declaring AA with tuple key, only with -g)
475     $(LI $(BUGZILLA 3353): storage class of a member function is propagated to default arguments)
476     )
477 )
478
479 $(VERSION 047, Sep 2, 2009, =================================================,
480
481     $(WHATSNEW
482     $(LI $(BUGZILLA 3122): [patch] Adding support for fast and reliable build tools to the frontend)
483     $(LI Added support for:
484 ---
485 a[i].var = e2
486 ---
487     and:
488 ---
489 a[] = e
490 ---
491     in CTFE. $(I (thanks, Don!)))
492     $(LI Member functions can now be used in CTFE)
493     $(LI Operator overloading can now be used in CTFE)
494     $(LI Nested functions can now be used in CTFE)
495     $(LI CTFE error messages now explain why the function could not be
496     interpreted at compile time)
497     )
498     $(BUGSFIXED
499     $(LI Fixed bug processing spaces in dmd's directory)
500     $(LI $(BUGZILLA 601): statement.html - Formatting/markup errors in BNF)
501     $(LI $(BUGZILLA 1461): Local variable as template alias parameter breaks CTFE)
502     $(LI $(BUGZILLA 1605): break in switch with goto breaks in ctfe)
503     $(LI $(BUGZILLA 1948): CTFE fails when mutating a struct in an array)
504     $(LI $(BUGZILLA 1950): CTFE doesn't work correctly for structs passed by ref)
505     $(LI $(BUGZILLA 2569): static arrays in CTFE functions don't compile)
506     $(LI $(BUGZILLA 2575): gdb can not show code)
507     $(LI $(BUGZILLA 2604): DW_TAG_module and GDB)
508     $(LI $(BUGZILLA 2940): null is null cannot be evaluated at compile time)
509     $(LI $(BUGZILLA 2960): CTFE rejects static array to dynamic array casts)
510     $(LI $(BUGZILLA 3039): -vtls compiler flag not listed in man file)
511     $(LI $(BUGZILLA 3165): What kind of integer division does D use?)
512     $(LI $(BUGZILLA 3166): "positive" -> "non-negative" in modulo operator description)
513     $(LI $(BUGZILLA 3168): Declaring structs as incomplete types no longer works)
514     $(LI $(BUGZILLA 3170): Forward reference of nested class fails if outer class is not plain)
515     $(LI $(BUGZILLA 3183): Spec of align attribute needs work)
516     $(LI $(BUGZILLA 3186): corrections for http://www.digitalmars.com/d/2.0/dmd-osx.html)
517     $(LI $(BUGZILLA 3192): asm in a anonymous delegate crash the compiler)
518     $(LI $(BUGZILLA 3196): Segfault(mtype.c) after almost any error involving a delegate literal)
519     $(LI $(BUGZILLA 3205): CTFE: $ cannot be used in lvalues)
520     $(LI $(BUGZILLA 3246): ICE(init.c) using indexed array initializer on local array)
521     $(LI $(BUGZILLA 3264): -O causes wrong "used before set" error when using enum.)
522     )
523 )
524
525 $(VERSION 046, Jul 6, 2009, =================================================,
526
527     $(WHATSNEW
528     $(LI $(BUGZILLA 3080): dmd should output compilation errors to stderr, not stdout)
529     )
530     $(BUGSFIXED
531     $(LI Fix dmd crash on multicore Windows.)
532     $(LI $(BUGZILLA 106): template - mixin sequence)
533     $(LI $(BUGZILLA 810): Cannot forward reference template)
534     $(LI $(BUGZILLA 852): ICE(toir.c) using local class in non-static nested function in nested static function)
535     $(LI $(BUGZILLA 854): TypeTuple in anonymous delegate causes ice in glue.c)
536     $(LI $(BUGZILLA 1054): regression: circular aliases cause compiler stack overflow)
537     $(LI $(BUGZILLA 1343): Various errors with static initialization of structs and arrays)
538     $(LI $(BUGZILLA 1358): ICE(root.c) on Unicode codepoints greater than 0x7FFFFFFF)
539     $(LI $(BUGZILLA 1459): ICE(cgcs.c) on attempt to set value of non-lvalue return struct)
540     $(LI $(BUGZILLA 1524): ICE(constfold.c) on using "is" with strings in CTFE)
541     $(LI $(BUGZILLA 1984): Assertion failure: 'e1->type' on line 1198 in file 'constfold.c')
542     $(LI $(BUGZILLA 2323): ICE(cgcs.c): taking address of a method of a temporary struct)
543     $(LI $(BUGZILLA 2429): std.stream.File incorrect flag parsing and sharing mode)
544     $(LI $(BUGZILLA 2432): complex alias -> mtype.c:125: virtual Type* Type::syntaxCopy(): Assertion `0' failed.)
545     $(LI $(BUGZILLA 2603): ICE(cgcs.c) on subtracting string literals)
546     $(LI $(BUGZILLA 2843): ICE(constfold.c) with is-expression with invalid dot-expression in is-expression involving typeid)
547     $(LI $(BUGZILLA 2884): ICE: Assert: 'template.c', line 3773, 'global.errors')
548     $(LI $(BUGZILLA 2888): [PATCH] speedup for float * 2.0)
549     $(LI $(BUGZILLA 2915): [Patch]: Optimize -a*-b into a*b)
550     $(LI $(BUGZILLA 2923): -O generates bad code for ?:)
551     $(LI $(BUGZILLA 2932): bad e_ehsize (36 != 52))
552     $(LI $(BUGZILLA 2952): Segfault on exit when using array ops with arrays of doubles larger than 8 elements)
553     $(LI $(BUGZILLA 3003): Need to implicitly add () on member template function calls)
554     $(LI $(BUGZILLA 3014): ICE(template.c) instantiating template with tuple)
555     $(LI $(BUGZILLA 3016): Errors in the documentation of std.math.acos)
556     $(LI $(BUGZILLA 3026): Segfault with incomplete static array initializer)
557     $(LI $(BUGZILLA 3044): Segfault(template.c) instantiating struct tuple constructor with zero arguments.)
558     $(LI $(BUGZILLA 3078): NaN reported as equal to zero)
559     $(LI $(BUGZILLA 3114): optlink failing on multicore machines)
560     $(LI $(BUGZILLA 3117): dmd crash by *1)
561     $(LI $(BUGZILLA 3128): Internal error: ..\ztc\cod4.c 2737)
562     $(LI $(BUGZILLA 3130): Crashed with triple stars)
563     )
564 )
565
566 $(VERSION 045, May 11, 2009, =================================================,
567
568     $(WHATSNEW
569     $(LI Folded in compiler/library changes by Unknown W. Brackets
570     to support Solaris.)
571     $(LI Migrate Posix uses of std.c.linux.linux to std.c.posix.posix)
572     $(LI added .typeinfo to ClassInfo $(BUGZILLA 2836): Navigate from ClassInfo to TypeInfo)
573     )
574     $(BUGSFIXED
575     $(LI Fix instruction scheduler bug on Linux)
576         $(LI $(BUGZILLA 642): error: mixin "static this" into where it cannot be)
577         $(LI $(BUGZILLA 713): circular const definitions with module operator "." cause the compiler to segfault)
578         $(LI $(BUGZILLA 752): Assertion failure: 'e->type->ty != Ttuple' on line 4518 in file 'mtype.c')
579         $(LI $(BUGZILLA 858): Forward reference to struct inside class crashes the compiler)
580         $(LI $(BUGZILLA 884): Segfault in recursive template)
581         $(LI $(BUGZILLA 934): Segfault taking mangleof a forward reference in a  template.)
582         $(LI $(BUGZILLA 1011): illegal import declaration causes compile time segfault)
583         $(LI $(BUGZILLA 1054): regression: circular aliases cause segfaults)
584         $(LI $(BUGZILLA 1061): "asm inc [;" segfaults compiler.)
585         $(LI $(BUGZILLA 1195): regression: aliasing an enum member causes compile time segfaults)
586         $(LI $(BUGZILLA 1305): Compiler hangs with templated opCmp returning templated class)
587         $(LI $(BUGZILLA 1385): Stack Overflow with huge array literal.)
588         $(LI $(BUGZILLA 1428): Segfault on template specialization with delegates and tuples)
589         $(LI $(BUGZILLA 1586): DMD and GDC segfaults on incomplete code segment.)
590         $(LI $(BUGZILLA 1791): Segmentation fault with anon class in anon class and non-constant variable init)
591         $(LI $(BUGZILLA 1916): segfault on invalid string concat)
592         $(LI $(BUGZILLA 1946): Compiler crashes on attempt to implicit cast const typedef to non-const.)
593         $(LI $(BUGZILLA 2048): DMD crash on CTFE that involves assigning to member variables of void-initialized struct)
594         $(LI $(BUGZILLA 2061): wrong vtable call with multiple interface inheritance)
595         $(LI $(BUGZILLA 2215): Forward reference enum with base type within a struct causes Segmentation Fault in the compiler)
596         $(LI $(BUGZILLA 2309): Crash on a template mixing in a variadic template with an undefined template identifier)
597         $(LI $(BUGZILLA 2346): ICE when comparing typedef'd class)
598         $(LI $(BUGZILLA 2821): struct alignment inconsistent with C for { int, long })
599     $(LI $(BUGZILLA 2920): recursive templates blow compiler stack)
600     )
601 )
602
603 $(VERSION 044, Apr 9, 2009, =================================================,
604
605     $(WHATSNEW
606     $(LI Added std.c.posix.* to Phobos.)
607     )
608     $(BUGSFIXED
609     $(LI $(BUGZILLA 675): %a format has an out-by-1 bug for denormals.)
610     $(LI $(BUGZILLA 2064): Segfault with mixin(for/foreach) with empty loop body)
611     $(LI $(BUGZILLA 2199): Segfault using array operation in function call)
612     $(LI $(BUGZILLA 2203): typeof(class.template.foo) crashes compiler)
613     )
614 )
615
616 $(VERSION 043, Apr 6, 2009, =================================================,
617
618     $(WHATSNEW
619     $(LI Added FreeBSD 7.1 support.)
620     )
621     $(BUGSFIXED
622     $(LI $(BUGZILLA 2796): Dependency on libstdc++-v3)
623     )
624 )
625
626 $(VERSION 042, Mar 31, 2009, =================================================,
627
628     $(WHATSNEW
629     $(LI Added response files for Linux and OSX)
630     $(LI On Windows, if there are multiple source files on the command
631      line they are now read with a background thread. This may speed up
632      compilation.)
633     $(LI Folded in patches for LDC compatibility from Tomas Lindquist Olsen)
634     $(LI The $(B Posix) version identifier can now be set even though
635      it is reserved and predefined, because many build systems and makefiles
636      try to set it.)
637     )
638     $(BUGSFIXED
639     $(LI std.math.hypot is wrong for subnormal arguments)
640     $(LI Fix bug where / wasn't recognized as a path separator on Windows.)
641     $(LI $(BUGZILLA 920): Fix one more out of date reference to 'auto' rather than 'scope')
642     $(LI $(BUGZILLA 1923): GC optimization for contiguous pointers to the same page)
643     $(LI $(BUGZILLA 2319): "Win32 Exception" not very useful)
644     $(LI $(BUGZILLA 2570): Patch for some mistakes in Ddoc comments)
645     $(LI $(BUGZILLA 2591): custom allocator new argument should be size_t instead of uint)
646     $(LI $(BUGZILLA 2689): seek behaves incorrectly on MAC OSX)
647     $(LI $(BUGZILLA 2692): alignment of double on x86 linux is incorrect)
648     $(LI $(BUGZILLA 2705): Response file size cannot exceed 64kb)
649     $(LI $(BUGZILLA 2711): -H produces bad headers files if function defintion is templated and have auto return value)
650     $(LI $(BUGZILLA 2731): Errors in associative array example)
651     $(LI $(BUGZILLA 2743): dumpobj gives "buss error" on Tiger)
652     $(LI $(BUGZILLA 2744): wrong init tocbuffer of forstatement)
653     $(LI $(BUGZILLA 2745): missing token tochars in lexer.c)
654     $(LI $(BUGZILLA 2747): improper toCBuffer of funcexp)
655     $(LI $(BUGZILLA 2750): Optimize slice copy with size known at compile time)
656     $(LI $(BUGZILLA 2751): incorrect scope storage class vardeclaration tocbuffer)
657     $(LI $(BUGZILLA 2767): DMD incorrectly mangles NTFS stream names)
658     $(LI $(BUGZILLA 2772): lib can't open response file)
659     )
660 )
661
662 $(VERSION 041, Mar 3, 2009, =================================================,
663
664     $(WHATSNEW
665     $(LI Added buildable dmd source.)
666         $(LI Improved accuracy of exp, expm1, exp2, sinh, cosh, tanh on Mac OSX,
667            and tripled speed on all platforms.)
668     )
669     $(BUGSFIXED
670     $(LI $(BUGZILLA 1629): Link error: Previous Definition Different:  blablah__initZ)
671     $(LI $(BUGZILLA 1662): Falls back to libphobos if -debuglib isn't used when -g is)
672     $(LI $(BUGZILLA 1681): cast(real) ulong.max == 0)
673     $(LI $(BUGZILLA 2416): Slice of typedef'ed array should preserve the typedef'ed type)
674     $(LI $(BUGZILLA 2582): Significantly Increased Compile Times For DWT)
675     $(LI $(BUGZILLA 2670): std.file.read() should read files of 0 length)
676     $(LI $(BUGZILLA 2673): Static constructors sometimes do not run when compiling with -lib)
677     $(LI $(BUGZILLA 2678): for loops are already assumed to terminate)
678     $(LI $(BUGZILLA 2679): Spurious "warning - " messages and erratic behaviour with is(typeof({void function}())))
679     $(LI $(BUGZILLA 2690): DMD aborts with MALLOC_CHECK_ set)
680     )
681 )
682
683 $(VERSION 040, Feb 11, 2009, =================================================,
684
685     $(WHATSNEW
686     $(LI Added Mac OSX support.)
687     $(LI Separated bin and lib directories into windows, linux,
688     and osx.)
689     $(LI No longer need to download dmc to use the windows version.)
690     $(LI Use version(OSX) for Mac OSX. Although version(darwin) is
691     also supported for the time being, it is deprecated.)
692     )
693     $(BUGSFIXED
694     )
695 )
696
697 $(VERSION 039, Jan 14, 2009, =================================================,
698
699     $(WHATSNEW
700     $(LI Improved speed of long division.)
701     $(LI Added predefined $(LINK2 version.html#PredefinedVersions, version)
702     $(B D_Ddoc) which is predefined when $(B -D) switch is thrown.)
703     )
704     $(BUGSFIXED
705     $(LI $(BUGZILLA 2517): DDoc omits abstract on classes)
706     $(LI $(BUGZILLA 2518): scope(success) not execuate and RAII variable destructor is not called)
707     $(LI $(BUGZILLA 2519): Segfault when >> used in an invalid slice)
708     $(LI $(BUGZILLA 2527): Alias Template Params Are Always Same Type As First Instantiation (according to typeof(x).stringof))
709     $(LI $(BUGZILLA 2531): DDoc not generated correctly for struct methods inside static if)
710     $(LI $(BUGZILLA 2537): compiler crashes on this code:)
711     $(LI $(BUGZILLA 2542): array casts behave differently at compile and runtime)
712     )
713 )
714
715 $(VERSION 038, Dec 11, 2008, =================================================,
716
717     $(WHATSNEW
718     $(LI Changed IUnknown to use the extern(System) interface rather
719     that extern(Windows).)
720     $(LI Added Partial IFTI $(BUGZILLA 493))
721     )
722     $(BUGSFIXED
723     $(LI $(BUGZILLA 1518): Crash using 'scope', 'with' and undefined 'RegExp')
724     $(LI $(BUGZILLA 1685): Array index is evaluated twice)
725     $(LI $(BUGZILLA 1963): -H creates broken headers)
726     $(LI $(BUGZILLA 2041): Spec implies relationship between interfaces and COM objects)
727     $(LI $(BUGZILLA 2105): added patch)
728     $(LI $(BUGZILLA 2468): result type of AndAndExp and OrOrExp deduced incorrectly)
729     $(LI $(BUGZILLA 2489): import in struct causes assertion failure)
730     $(LI $(BUGZILLA 2490): extern(C++) can not handle structs as return types)
731     $(LI $(BUGZILLA 2492): ICE building on Linux with -lib option)
732     $(LI $(BUGZILLA 2499): Template alias default value cannot be template instantiation)
733     $(LI $(BUGZILLA 2500): template struct methods are left unresolved if imported from multiple modules)
734     $(LI $(BUGZILLA 2501): member function marked as final override ignores override requirements)
735     $(LI Incorporated some of the patches from $(BUGZILLA 1752))
736     )
737 )
738
739 $(VERSION 037, Nov 25, 2008, =================================================,
740
741     $(WHATSNEW
742     )
743     $(BUGSFIXED
744     $(LI $(BUGZILLA 313): Fully qualified names bypass private imports)
745     $(LI $(BUGZILLA 341): Undocumented function void print() in object.d)
746     $(LI $(BUGZILLA 929): Resizing array of associative arrays (uint[char[]][]) causes infinite loop / hang)
747     $(LI $(BUGZILLA 1372): Compiler accepts pragma(msg,))
748     $(LI $(BUGZILLA 1610): Enum.stringof is int, not the name of the enum)
749     $(LI $(BUGZILLA 1663): pragma(lib, "") don't work on linux)
750     $(LI $(BUGZILLA 1797): Documentation comments - ///)
751     $(LI $(BUGZILLA 2326): Methods within final class are not considered final when optimizing)
752     $(LI $(BUGZILLA 2429): std.stream.File incorrect flag parsing and sharing mode)
753     $(LI $(BUGZILLA 2431): Internal error: ../ztc/cgcod.c 1031 when using -O)
754     $(LI $(BUGZILLA 2470): Cannot build libraries from other libraries)
755     $(LI unittest functions now always use D linkage)
756     )
757 )
758
759 $(VERSION 036, Oct 20, 2008, =================================================,
760
761     $(WHATSNEW
762     $(LI Improved performance of AAs by rebalancing trees when rehashing.)
763     )
764     $(BUGSFIXED
765     $(LI $(BUGZILLA 1229): Linker fills disk)
766     $(LI $(BUGZILLA 2340): Template properties don't work)
767     $(LI $(BUGZILLA 2365): compilation error: static const array in struct)
768     $(LI $(BUGZILLA 2368): Calling a function with an address of another function, then calling a returned object is rejected)
769     $(LI $(BUGZILLA 2373): freebsd select does not accept values  &gt; 999,999)
770     $(LI $(BUGZILLA 2376): CTFE fails on array literal of array literals of chars)
771     $(LI $(BUGZILLA 2380): static struct initializer accepted as non static initializer is not documented)
772     $(LI $(BUGZILLA 2383): default arguments can implicitly access private global variables that are not visible at call site)
773     $(LI $(BUGZILLA 2385): spec says all structs are returned via hidden pointer on linux, but it uses registers)
774     $(LI $(BUGZILLA 2390): Missing warning on conversion from int to char)
775     )
776 )
777
778 $(VERSION 035, Sep 2, 2008, =================================================,
779
780     $(WHATSNEW
781     )
782     $(BUGSFIXED
783     $(LI $(BUGZILLA 1627): ICE with a method called _ctor)
784     $(LI $(BUGZILLA 1633): Nonsensical "C style cast illegal" message with !is)
785     $(LI $(BUGZILLA 1637): regression: new unittest failure in std/math2.d, odd cosh() behavior)
786     $(LI $(BUGZILLA 1763): EndianStream doesn't handle ubyte/byte read/writes. Simple fix.)
787     $(LI $(BUGZILLA 1771): dmd fails to execute on linux)
788     $(LI $(BUGZILLA 1773): excessively long integer literal)
789     $(LI $(BUGZILLA 1785): Mixing in an incorrect array literal causes infinite loop.)
790     $(LI $(BUGZILLA 2176): Assertion failure: 'sz == es2->sz' on line 1339 in file 'constfold.c' (concatenating strings of different types))
791     $(LI $(BUGZILLA 2183): Bad formatting in std.c.stdlib)
792     $(LI $(BUGZILLA 2232): DMD generates invalid code when an object file is compiled -inline)
793     $(LI $(BUGZILLA 2241): DMD abort)
794     $(LI $(BUGZILLA 2243): const bool = is(function literal), badly miscast)
795     $(LI $(BUGZILLA 2262): -inline breaks -lib library)
796     $(LI $(BUGZILLA 2286): movmskpd compiled incorrectly)
797     $(LI $(BUGZILLA 2308): CTFE crash on foreach over nonexistent variable)
798     $(LI $(BUGZILLA 2311): Static destructors in templates are never run)
799     $(LI $(BUGZILLA 2314): Crash on anonymous class variable instantiation)
800     $(LI $(BUGZILLA 2317): asm offsetof generates: Internal error: ../ztc/cod3.c 2651)
801     )
802 )
803
804 $(VERSION 034, Aug 7, 2008, =================================================,
805
806     $(WHATSNEW
807     $(LI Now supports $(LINK2 arrays.html#array-operations, array operations).)
808     )
809     $(BUGSFIXED
810     $(LI Added hash to generated module names when building libs to reduce collisions)
811     $(LI $(BUGZILLA 1622): parameters to TypeInfo_Struct.compare seem to be switched around.)
812     $(LI $(BUGZILLA 2216): bad code generation for static arrays of zero length static arrays)
813     $(LI $(BUGZILLA 2223): Typo in error message)
814     $(LI $(BUGZILLA 2242): linux system calls are canceled by GC)
815     $(LI $(BUGZILLA 2247): bad header file generated for if (auto o = ...) {})
816     $(LI $(BUGZILLA 2248): .di should be a supported file extension)
817     $(LI $(BUGZILLA 2250): Update of user32.lib and kernel32.lib)
818     $(LI $(BUGZILLA 2254): Size of executable almost triples)
819     $(LI $(BUGZILLA 2258): Docs -> Inline Assembler -> Operand Types -> qword missing)
820     $(LI $(BUGZILLA 2259): Assertion failure: '0' on line 122 in file 'statement.c')
821     $(LI $(BUGZILLA 2269): D BUG: cosine of complex)
822     $(LI $(BUGZILLA 2272): synchronized attribute documentation)
823     $(LI $(BUGZILLA 2273): Whitespace is not inserted after commas)
824     )
825 )
826
827 $(VERSION 033, Jul 11, 2008, =================================================,
828
829     $(WHATSNEW
830     )
831     $(BUGSFIXED
832     $(LI $(BUGZILLA 870): contradictory error messages for templates)
833     $(LI $(BUGZILLA 2207): overload resolution fails with deprecation)
834     $(LI $(BUGZILLA 2208): Deprecated function declarations cannot use deprecated types)
835     $(LI $(BUGZILLA 2209): Typo in doc for offsetof)
836     )
837 )
838
839 $(VERSION 032, Jul 9, 2008, =================================================,
840
841     $(WHATSNEW
842     $(LI Added $(B .__vptr) and $(B .__monitor) properties for class objects
843      for use in the internal runtime library.
844     )
845     )
846     $(BUGSFIXED
847     $(LI $(NG_digitalmars_D_announce 12322): mixin regression)
848     $(LI $(BUGZILLA 203): std.format.doFormat() pads width incorrectly on Unicode strings)
849     $(LI $(BUGZILLA 211): Linking error with alias mixin params and anonymous methods)
850     $(LI $(BUGZILLA 224): Incorrect warning "no return at end of function")
851     $(LI $(BUGZILLA 252): -w and switch returns = bogus "no return at end of function" warning)
852     $(LI $(BUGZILLA 253): Invalid &lt;dl&gt; tag generated by Ddoc)
853     $(LI $(BUGZILLA 294): DDoc: Function templates get double and incomplete documentation)
854     $(LI $(BUGZILLA 398): No way to abort compilation in a doubly recursive mixin)
855     $(LI $(BUGZILLA 423): dmd ignores empty commandline arguments)
856     $(LI $(BUGZILLA 515): Spec incorrect in where .offsetof can be applied)
857     $(LI $(BUGZILLA 520): Invariants allowed to call public functions)
858     $(LI $(BUGZILLA 542): Function parameter of a deprecated type (other than a class) is not caught)
859     $(LI $(BUGZILLA 543): Function return of a deprecated type is not caught)
860     $(LI $(BUGZILLA 544): Variable declared of a deprecated type (other than a class) is not caught)
861     $(LI $(BUGZILLA 545): Attempt to access a static built-in property of a deprecated struct, union, enum or typedef is not caught)
862     $(LI $(BUGZILLA 547): Accessing a deprecated member variable through an explicit object reference is not caught)
863     $(LI $(BUGZILLA 548): Accessing a value of a deprecated enum is not caught)
864     $(LI $(BUGZILLA 566): Adding non-static members and functions to classes using a template doesn't error)
865     $(LI $(BUGZILLA 570): Bogus recursive mixin error)
866     $(LI $(BUGZILLA 571): class instance member template returns strange value)
867     $(LI $(BUGZILLA 572): parse error when using template instantiation with typeof)
868     $(LI $(BUGZILLA 581): Error message w/o line number in dot-instantiated template)
869     $(LI $(BUGZILLA 617): IFTI doesn't use normal promotion rules for non-template parameters)
870     $(LI $(BUGZILLA 951): Missing line number: no constructor provided for a class derived from a class with no default constructor)
871     $(LI $(BUGZILLA 1097): Missing line number: casting array to array of different element size)
872     $(LI $(BUGZILLA 1158): Missing line number: invalid mixin outside function scope)
873     $(LI $(BUGZILLA 1176): Error missing file and line number)
874     $(LI $(BUGZILLA 1187): Segfault with syntax error in two-level mixin.)
875     $(LI $(BUGZILLA 1194): fcmov* emmits incorrect code)
876     $(LI $(BUGZILLA 1207): Documentation on destructors is confusing)
877     $(LI $(BUGZILLA 1341): typeof(int) should probably be legal)
878     $(LI $(BUGZILLA 1601): shr and shl error message is missing line numbers)
879     $(LI $(BUGZILLA 1612): No file/line number for using an undefined label in inline assembly)
880     $(LI $(BUGZILLA 1907): Error message without a line number)
881     $(LI $(BUGZILLA 1912): Error without line number (Tuple, invalid value argument))
882     $(LI $(BUGZILLA 1936): Error with no line number (array dimension overflow))
883     $(LI $(BUGZILLA 2161): Modify compiler to pass array TypeInfo to _adEq and _adCmp instead of element TypeInfo)
884     $(LI $(BUGZILLA 2166): More stuff that doesn't compile in Phobos)
885     $(LI $(BUGZILLA 2178): 3 errors without line number: typeof)
886     )
887 )
888
889 $(VERSION 031, June 18, 2008, =================================================,
890
891     $(WHATSNEW
892     $(LI Added $(LINK2 version.html#PredefinedVersions, version identifier
893      $(B D_PIC)) when $(B -fPIC) switch is used.)
894     )
895     $(BUGSFIXED
896     $(LI $(BUGZILLA 1383): Implicit Function Instantiation with typesafe-variadic of delegates doesn't work)
897     $(LI $(BUGZILLA 1559): version statement makes code outside of it disappear)
898     $(LI $(BUGZILLA 1675): "Identifier too long" error with OMF object files)
899     $(LI $(BUGZILLA 1963): -H creates broken headers)
900     $(LI $(BUGZILLA 2111): Protection incorrectly resolved when accessing super class' tupleof)
901     $(LI $(BUGZILLA 2118): Inconsistent use of string vs invariant(char[]) in doc)
902     $(LI $(BUGZILLA 2123): Anonymous class crashes)
903     $(LI $(BUGZILLA 2132): CTFE: can't evaluate ~= at compile time, D2 only.)
904     $(LI $(BUGZILLA 2136): typeof(super(...)) counted as a constructor call)
905     $(LI $(BUGZILLA 2140): static if as final statement with no code causes containing code to be skipped)
906     $(LI $(BUGZILLA 2143): Mixed-in identifier is not recognized by static if)
907     $(LI $(BUGZILLA 2144): 'is' is defined to be the same as '==' for non-class and non-array types, but does not call opEquals)
908     $(LI $(BUGZILLA 2146): Multiple execution of 'static this' defined in template)
909     $(LI $(BUGZILLA 2149): Auto variables loose the keyword "auto" in di files generated with -H option.)
910     )
911 )
912
913 $(VERSION 030, May 16, 2008, =================================================,
914
915     $(WHATSNEW
916     $(LI Added $(B -lib) switch to generate library files.)
917     $(LI Added $(B -man) switch to browse manual.)
918     $(LI When generating an executable file, only one object file
919      is now generated containing all the modules that were compiled, rather
920      than one object file per module.)
921     )
922     $(BUGSFIXED
923     $(LI $(BUGZILLA 2031): Documentation: template value parameters)
924     $(LI $(BUGZILLA 2032): Documentation for creating a class on the stack is unintuitive)
925     $(LI $(BUGZILLA 2033): -g + circular refs =&gt; dmd hangs)
926     $(LI $(BUGZILLA 2039): -ignore switch is missing from compiler docs)
927     $(LI $(BUGZILLA 2044): -g hangs DMD)
928     $(LI $(BUGZILLA 2055): (ICE) Compiler crash on struct initializer with too many elements)
929     $(LI $(BUGZILLA 2058): Describe hidden value passed to class member functions)
930     $(LI $(BUGZILLA 2067): call from anonymous class makes access violation.)
931     $(LI $(BUGZILLA 2071): spec doesn't mention pointer arithmetic with two pointer operands)
932     $(LI $(BUGZILLA 2075): Spec does not specify how array literals are stored.)
933     $(LI $(BUGZILLA 2084): operator ?: does not compute the tightest type)
934     $(LI $(BUGZILLA 2086): Describe relationship between string and char[] more explicitly)
935     $(LI $(BUGZILLA 2089): Issues with CTFE and tuple indexes)
936     $(LI $(BUGZILLA 2090): Cannot alias a tuple member which is a template instance)
937     )
938 )
939
940 $(VERSION 029, Apr 23, 2008, =================================================,
941
942     $(WHATSNEW
943     $(LI Added $(B -ignore) switch to ignore unsupported pragmas.)
944     $(LI Unsupported pragmas now printed out with $(B -v) switch.)
945     $(LI Incorporated Benjamin Shropshire's doc changes)
946     )
947     $(BUGSFIXED
948     $(LI $(BUGZILLA 1712): vtbl[0] for interface not set to corresponding Interface*)
949     $(LI $(BUGZILLA 1741): crash on associative array with static array as index type)
950     $(LI $(BUGZILLA 1905): foreach docs inconsistency)
951     $(LI $(BUGZILLA 1906): foreach cannot use index with large arrays)
952     $(LI $(BUGZILLA 1908): fix closure14.d)
953     $(LI $(BUGZILLA 1935): The std.recls samples in the DMD .zip are obsolete.)
954     $(LI $(BUGZILLA 1967): getDirName does not seem to use altsep on windows)
955     $(LI $(BUGZILLA 1978): Wrong vtable call)
956     $(LI $(BUGZILLA 1991): Dmd hangs)
957     $(LI $(BUGZILLA 2019): Appending a one-element array literal doesn't work)
958     )
959 )
960
961 $(VERSION 028, Mar 6, 2008, =================================================,
962
963 $(WHATSNEW
964     $(LI Added compile time error for comparing class types against $(CODE null).)
965 )
966
967 $(BUGSFIXED
968     $(LI Fixed dwarf bug with DT_AT_upper_bound)
969     $(LI $(BUGZILLA 756): IFTI for tuples only works if tuple parameter is last)
970     $(LI $(BUGZILLA 1454): IFTI cant  deduce parameter if alias argument used)
971     $(LI $(BUGZILLA 1661): Not possible to specialize on template with integer parameter)
972     $(LI $(BUGZILLA 1809): template.c:2600)
973     $(LI $(BUGZILLA 1810): MmFile anonymous mapping does not work under win32)
974     $(LI $(BUGZILLA 1819): spurious warning about missing return statement after synchronized)
975     $(LI $(BUGZILLA 1828): Several Thread Issues)
976     $(LI $(BUGZILLA 1833): std.c.windows.windows should use enums for constants, or be more selective about use of extern(Windows))
977     $(LI $(BUGZILLA 1836): Inline assembler can't use enum values as parameters.)
978     $(LI $(BUGZILLA 1837): Make dmd stop flooding the console: prints content of passed parameter file)
979     $(LI $(BUGZILLA 1843): Bogus unreachable statement on forward referenced struct, lacks line number)
980     $(LI $(BUGZILLA 1850): The compiler accepts lower case asm registers.)
981     $(LI $(BUGZILLA 1852): you get opCall missing when cast to a struct(diagnostic))
982     $(LI $(BUGZILLA 1853): opCmp documentation really needs some examples)
983     $(LI $(BUGZILLA 1857): Runtime segfault while profileing - jump to invalid code address)
984     $(LI $(BUGZILLA 1862): asm: [ESI+1*EAX] should be a legal addr mode)
985     $(LI $(BUGZILLA 1864): Variable incorrectly declared final in final class template)
986     $(LI $(BUGZILLA 1865): Escape sequences are flawed.)
987     $(LI $(BUGZILLA 1877): Errors in the documentation of std.math.atan2)
988     $(LI $(BUGZILLA 1879): Compiler segfaults on 'scope' and 'static if')
989     $(LI $(BUGZILLA 1882): Internal error: ..\ztc\cod1.c 2529)
990 )
991 )
992
993
994 $(VERSION 027, Feb 18, 2008, =================================================,
995
996 $(WHATSNEW
997     $(LI Re-enabled auto interfaces.)
998 )
999
1000 $(BUGSFIXED
1001     $(LI Fixed display of ddoc template parameters that were aliased)
1002     $(LI $(BUGZILLA 1072): CTFE: crash on for loop with blank increment)
1003     $(LI $(BUGZILLA 1435): DDoc: Don't apply DDOC_PSYMBOL everywhere)
1004     $(LI $(BUGZILLA 1825): local instantiation and function nesting)
1005     $(LI $(BUGZILLA 1837): Make dmd stop flooding the console: prints content of passed parameter file)
1006     $(LI $(BUGZILLA 1842): Useless linker command line output during compilation on Linux)
1007 )
1008 )
1009
1010 $(VERSION 026, Jan 20, 2008, =================================================,
1011
1012 $(WHATSNEW
1013     $(LI $(CODE WinMain) and $(CODE DllMain) can now be in template mixins.)
1014 )
1015
1016 $(BUGSFIXED
1017     $(LI $(BUGZILLA 1697): Internal error: ..\ztc\cgcod.c 2322 with -O)
1018     $(LI $(BUGZILLA 1707): '==' in TemplateParameterList in IsExpression causes segfault)
1019     $(LI $(BUGZILLA 1711): typeof with delegate literal not allowed as template parameter)
1020     $(LI $(BUGZILLA 1718): obscure exit with error code 5)
1021     $(LI $(BUGZILLA 1719): Compiler crash or unstable code generation with scoped interface instances)
1022     $(LI $(BUGZILLA 1724): Internal error: toir.c 177)
1023     $(LI $(BUGZILLA 1725): std.stream.BufferedFile.create should use FileMode.OutNew)
1024     $(LI $(BUGZILLA 1767): rejects-valid, diagnostic)
1025     $(LI $(BUGZILLA 1769): Typo on the page about exceptions)
1026     $(LI $(BUGZILLA 1773): excessively long integer literal)
1027     $(LI $(BUGZILLA 1779): Compiler crash when deducing more than 2 type args)
1028     $(LI $(BUGZILLA 1783): DMD 1.025 asserts on code with struct, template, and alias)
1029     $(LI $(BUGZILLA 1788): dmd segfaults without info)
1030 )
1031 )
1032
1033
1034 $(VERSION 025, Jan 1, 2008, =================================================,
1035
1036 $(BUGSFIXED
1037     $(LI $(BUGZILLA 1111): enum value referred to by another value of same enum is considered as enum's base type, not enum type)
1038     $(LI $(BUGZILLA 1720): std.math.NotImplemented missing a space in message)
1039     $(LI $(BUGZILLA 1738): Error on struct without line number)
1040     $(LI $(BUGZILLA 1742): CTFE fails on some template functions)
1041     $(LI $(BUGZILLA 1743): interpret.c:1421 assertion failure on CTFE code)
1042     $(LI $(BUGZILLA 1744): CTFE: crash on assigning void-returning function to variable)
1043     $(LI $(BUGZILLA 1749): std.socket not thread-safe due to strerror)
1044     $(LI $(BUGZILLA 1753): String corruption in recursive CTFE functions)
1045 )
1046 )
1047
1048
1049 $(VERSION 024, Nov 27, 2007, =================================================,
1050
1051 $(WHATSNEW
1052     $(LI Changed the way coverage analysis is done so it is independent
1053      of order dependencies among modules.)
1054 )
1055
1056 $(BUGSFIXED
1057     $(LI $(BUGZILLA 70): valgrind: Conditional jump or move depends on uninitialised value(s) in elf_findstr)
1058     $(LI $(BUGZILLA 71): valgrind: Invalid read of size 4 in elf_renumbersyms)
1059     $(LI $(BUGZILLA 204): Error message on attempting to instantiate an abstract class needs to be improved)
1060     $(LI $(BUGZILLA 1508): dmd/linux template symbol issues)
1061     $(LI $(BUGZILLA 1656): illegal declaration accepted)
1062     $(LI $(BUGZILLA 1664): (1.23).stringof  generates bad code)
1063     $(LI $(BUGZILLA 1665): Internal error: ..\ztc\cod2.c 411)
1064 )
1065 )
1066
1067
1068 $(VERSION 023, Oct 31, 2007, =================================================,
1069
1070 $(WHATSNEW
1071     $(LI Data items in static data segment &gt;= 16 bytes in size
1072     are now paragraph aligned.)
1073 )
1074
1075 $(BUGSFIXED
1076     $(LI $(BUGZILLA 318): wait does not release thread resources on Linux)
1077     $(LI $(BUGZILLA 322): Spawning threads which allocate and free memory leads to pause error on collect)
1078     $(LI $(BUGZILLA 645): Race condition in std.thread.Thread.pauseAll)
1079     $(LI $(BUGZILLA 689): Clean up the spec printfs!)
1080     $(LI $(BUGZILLA 697): No const folding on asm db,dw, etc)
1081     $(LI $(BUGZILLA 706): incorrect type deduction for array literals in functions)
1082     $(LI $(BUGZILLA 708): inline assembler: "CVTPS2PI mm, xmm/m128" fails to compile)
1083     $(LI $(BUGZILLA 709): inline assembler: "CVTPD2PI mm, xmm/m128" fails to compile)
1084     $(LI $(BUGZILLA 718): Internal error: ../ztc/cgcod.c 562)
1085     $(LI $(BUGZILLA 723): bad mixin of class definitions at function level: func.c:535: virtual void FuncDeclaration::semantic3(Scope*): Assertion `0' failed)
1086     $(LI $(BUGZILLA 725): expression.c:6516: virtual Expression* MinAssignExp::semantic(Scope*): Assertion `e2->type->isfloating()' failed.)
1087     $(LI $(BUGZILLA 726): incorrect error line for "override" mixin)
1088     $(LI $(BUGZILLA 729): scope(...) statement in SwitchBody causes compiler to segfault)
1089     $(LI $(BUGZILLA 733): std.conv.toFloat does not catch errors)
1090     $(LI $(BUGZILLA 1258): Garbage collector loses memory upon array concatenation)
1091     $(LI $(BUGZILLA 1478): Avoid libc network api threadsafety issues)
1092     $(LI $(BUGZILLA 1480): std.stream throws the new override warning all over the place)
1093     $(LI $(BUGZILLA 1483): Errors in threads not directed to stderr)
1094     $(LI $(BUGZILLA 1491): Suppress SIGPIPE when sending to a dead socket)
1095     $(LI $(BUGZILLA 1557): std.zlib allocates void[]s instead of ubyte[]s, causing leaks.)
1096     $(LI $(BUGZILLA 1562): Deduction of template alias parameter fails)
1097     $(LI $(BUGZILLA 1575): Cannot do assignment of tuples)
1098     $(LI $(BUGZILLA 1593): ICE compiler crash empty return statement in function)
1099     $(LI $(BUGZILLA 1613): DMD hangs on syntax error)
1100     $(LI $(BUGZILLA 1618): Typo in std\system.d)
1101 )
1102 )
1103
1104 $(VERSION 022, Oct 1, 2007, =================================================,
1105
1106 $(BUGSFIXED
1107     $(LI Fix std.boxer boxing of Object's (unit test failure))
1108     $(LI Fix std.demangle to not show hidden parameters (this and delegate context pointers))
1109     $(LI $(BUGZILLA 217): typeof not working properly in internal/object.d)
1110     $(LI $(BUGZILLA 218): Clean up old code for packed bit array support)
1111     $(LI $(BUGZILLA 223): Error message for unset constants doesn't specify error location)
1112     $(LI $(BUGZILLA 278): dmd.conf search path doesn't work)
1113     $(LI $(BUGZILLA 479): can't compare arrayliteral statically with string)
1114     $(LI $(BUGZILLA 549): A class derived from a deprecated class is not caught)
1115     $(LI $(BUGZILLA 550): Shifting by more bits than size of quantity is allowed)
1116     $(LI $(BUGZILLA 551): Modulo operator works with imaginary and complex operands)
1117     $(LI $(BUGZILLA 556): is (Type Identifier : TypeSpecialization) doesn't work as it should)
1118     $(LI $(BUGZILLA 668): Use of *.di files breaks the order of static module construction)
1119     $(LI $(BUGZILLA 1125): Segfault using tuple in asm code, when size not specified)
1120     $(LI $(BUGZILLA 1437): dmd crash: "Internal error: ..\ztc\cod4.c 357")
1121     $(LI $(BUGZILLA 1474): regression: const struct with an initializer not recognized as a valid alias template param)
1122     $(LI $(BUGZILLA 1484): Forward reference of enum member crashes DMD)
1123     $(LI $(BUGZILLA 1488): Bad code generation when using tuple from asm)
1124     $(LI $(BUGZILLA 1510): ICE: Assertion failure: 'ad' on line 925 in file 'func.c')
1125     $(LI $(BUGZILLA 1523): struct literals not work with typedef)
1126     $(LI $(BUGZILLA 1531): cannot access typedef'd class field)
1127     $(LI $(BUGZILLA 1537): Internal error: ..\ztc\cgcod.c 1521)
1128     $(LI $(BUGZILLA 1609): TypeInfo_Typedef has incorrect implementation of next())
1129 )
1130 )
1131
1132 $(VERSION 021, Sep 5, 2007, =================================================,
1133
1134 $(WHATSNEW
1135     $(LI Added command line switches $(B -defaultlib) and $(B -debuglib))
1136     $(LI $(BUGZILLA 1445): Add default library options to sc.ini / dmd.conf)
1137     $(LI Added trace_term() to object.d to fix $(BUGZILLA 971): No profiling output is generated if the application terminates with exit)
1138     $(LI Multiple module static constructors/destructors allowed.)
1139 )
1140
1141 $(BUGSFIXED
1142     $(LI $(BUGZILLA 961): std.windows.registry stack corruption)
1143     $(LI $(BUGZILLA 1315): CTFE doesn't default initialise arrays of structs)
1144     $(LI $(BUGZILLA 1363): Compile-time issue with structs in 'for')
1145     $(LI $(BUGZILLA 1375): CTFE fails for null arrays)
1146     $(LI $(BUGZILLA 1378): A function call in an array literal causes compiler to crash)
1147     $(LI $(BUGZILLA 1384): Compiler segfaults when using struct variable like a function with no opCall member.)
1148     $(LI $(BUGZILLA 1388): multiple static constructors allowed in module)
1149     $(LI $(BUGZILLA 1414): compiler crashes with CTFE and structs)
1150     $(LI $(BUGZILLA 1423): Registry: corrupted value)
1151     $(LI $(BUGZILLA 1436): std.date.getLocalTZA() returns wrong values when in DST under Windows)
1152     $(LI $(BUGZILLA 1447): CTFE does not work for static member functions of a class)
1153     $(LI $(BUGZILLA 1448): UTF-8 output to console is seriously broken)
1154     $(LI $(BUGZILLA 1450): Registry: invalid UTF-8 sequence)
1155     $(LI $(BUGZILLA 1460): Compiler crash on valid code)
1156     $(LI $(BUGZILLA 1464): "static" foreach breaks CTFE)
1157 )
1158 )
1159
1160 $(VERSION 020, Jul 23, 2007, =================================================,
1161
1162 $(BUGSFIXED
1163     $(LI Fixed $(B extern (System)))
1164 )
1165 )
1166
1167 $(VERSION 019, Jul 21, 2007, =================================================,
1168
1169 $(WHATSNEW
1170     $(LI Added 0x78 Codeview extension for type $(B dchar).)
1171     $(LI Added $(B extern (System)))
1172     $(LI $(BUGZILLA 345): updated std.uni.isUniAlpha to Unicode 5.0.0)
1173 )
1174
1175 $(BUGSFIXED
1176     $(LI $(BUGZILLA 46): Included man files should be updated)
1177     $(LI $(BUGZILLA 268): Bug with SocketSet and classes)
1178     $(LI $(BUGZILLA 406): std.loader is broken on linux)
1179     $(LI $(BUGZILLA 561): Incorrect duplicate error message when trying to create instance of interface)
1180     $(LI $(BUGZILLA 588): lazy argument and nested symbol support to std.demangle)
1181     $(LI $(BUGZILLA 668): Use of *.di files breaks the order of static module construction)
1182     $(LI $(BUGZILLA 1110): std.format.doFormat + struct without toString() == crash)
1183     $(LI $(BUGZILLA 1199): Strange error messages when indexing empty arrays or strings at compile time)
1184     $(LI $(BUGZILLA 1300): Issues with struct in compile-time function)
1185     $(LI $(BUGZILLA 1306): extern (Windows) should work like extern (C) for variables)
1186     $(LI $(BUGZILLA 1331): header file genaration generates a ":" instead of ";" at pragma)
1187     $(LI $(BUGZILLA 1332): Internal error: ../ztc/cod4.c 357)
1188     $(LI $(BUGZILLA 1333): -inline ICE: passing an array element to an inner class's constructor in a nested function, all in a class or struct)
1189     $(LI $(BUGZILLA 1336): Internal error when trying to construct a class declared within a unittest from a templated class.)
1190 )
1191 )
1192
1193 $(VERSION 018, Jul 1, 2007, =================================================,
1194
1195 $(BUGSFIXED
1196     $(LI $(BUGZILLA 540): Nested template member function error - "function expected before ()")
1197     $(LI $(BUGZILLA 559): Final has no effect on methods)
1198     $(LI $(BUGZILLA 627): Concatenation of strings to string arrays with ~ corrupts data)
1199     $(LI $(BUGZILLA 629): Misleading error message "Can only append to dynamic arrays")
1200     $(LI $(BUGZILLA 639): Escaped tuple parameter ICEs dmd)
1201     $(LI $(BUGZILLA 641): Complex string operations in template argument ICEs dmd)
1202     $(LI $(BUGZILLA 657): version(): ignored)
1203     $(LI $(BUGZILLA 689): Clean up the spec printfs!)
1204     $(LI $(BUGZILLA 1103): metastrings.ToString fails for long &gt; 0xFFFF_FFFF)
1205     $(LI $(BUGZILLA 1107): CodeView: wrong CV type for bool)
1206     $(LI $(BUGZILLA 1118): weird switch statement behaviour)
1207     $(LI $(BUGZILLA 1186): Bind needs a small fix)
1208     $(LI $(BUGZILLA 1199): Strange error messages when indexing empty arrays or strings at compile time)
1209     $(LI $(BUGZILLA 1200): DMD crash: some statements containing only a ConditionalStatement with a false condition)
1210     $(LI $(BUGZILLA 1203): Cannot create Anonclass in loop)
1211     $(LI $(BUGZILLA 1204): segfault using struct in CTFE)
1212     $(LI $(BUGZILLA 1206): Compiler hangs on this() after method in class that forward references struct)
1213     $(LI $(BUGZILLA 1207): Documentation on destructors is confusing)
1214     $(LI $(BUGZILLA 1211): mixin("__LINE__") gives incorrect value)
1215     $(LI $(BUGZILLA 1212): dmd generates bad line info)
1216     $(LI $(BUGZILLA 1216): Concatenation gives 'non-constant expression' outside CTFE)
1217     $(LI $(BUGZILLA 1217): Dollar ($) seen as non-constant expression in non-char[] array)
1218     $(LI $(BUGZILLA 1219): long.max.stringof gets corrupted)
1219     $(LI $(BUGZILLA 1224): Compilation does not stop on asserts during CTFE)
1220     $(LI $(BUGZILLA 1228): Class invariants should not be called before the object is fully constructed)
1221     $(LI $(BUGZILLA 1233): std.string.ifind(char[] s, char[] sub) fails on certain non ascii strings)
1222     $(LI $(BUGZILLA 1234): Occurrence is misspelled almost everywhere)
1223     $(LI $(BUGZILLA 1235): std.string.tolower() fails on certain utf8 characters)
1224     $(LI $(BUGZILLA 1236): Grammar for Floating Literals is incomplete)
1225     $(LI $(BUGZILLA 1239): ICE when empty tuple is passed to variadic template function)
1226     $(LI $(BUGZILLA 1242): DMD AV)
1227     $(LI $(BUGZILLA 1244): Type of array length is unspecified)
1228     $(LI $(BUGZILLA 1247): No time zone info for India)
1229     $(LI $(BUGZILLA 1285): Exception typedefs not distinguished by catch)
1230     $(LI $(BUGZILLA 1287): Iterating over an array of tuples causes "glue.c:710: virtual unsigned int Type::totym(): Assertion `0' failed.")
1231     $(LI $(BUGZILLA 1290): Two ICEs, both involving real, imaginary, ? : and +=.)
1232     $(LI $(BUGZILLA 1291): .stringof for a class type returned from a template doesn't work)
1233     $(LI $(BUGZILLA 1292): Template argument deduction doesn't work)
1234     $(LI $(BUGZILLA 1294): referencing fields in static arrays of structs passed as arguments generates invalid code)
1235     $(LI $(BUGZILLA 1295): Some minor errors in the lexer grammar)
1236 )
1237 )
1238
1239 $(VERSION 017, Jun 25, 2007, =================================================,
1240
1241 $(WHATSNEW
1242     $(LI Added $(B __VENDOR__) and $(B __VERSION__).)
1243     $(LI The $(B .init) property for a variable is now based on its
1244     type, not its initializer.)
1245 )
1246
1247 $(BUGSFIXED
1248     $(LI $(B std.compiler) now is automatically updated.)
1249     $(LI Fixed CFTE bug with e++ and e--.)
1250     $(LI $(BUGZILLA 1254): Using a parameter initialized to void in a compile-time evaluated function doesn't work)
1251     $(LI $(BUGZILLA 1256): "with" statement with symbol)
1252     $(LI $(BUGZILLA 1259): Inline build triggers an illegal error msg "Error: S() is not an lvalue")
1253     $(LI $(BUGZILLA 1260): Another tuple bug)
1254     $(LI $(BUGZILLA 1261): Regression from overzealous error message)
1255     $(LI $(BUGZILLA 1262): Local variable of struct type initialized by literal resets when compared to .init)
1256     $(LI $(BUGZILLA 1263): Template function overload fails when overloading on both template and non-template class)
1257     $(LI $(BUGZILLA 1268): Struct literals try to initialize static arrays of non-static structs incorrectly)
1258     $(LI $(BUGZILLA 1269): Compiler crash on assigning to an element of a void-initialized array in CTFE)
1259     $(LI $(BUGZILLA 1270): -inline produces an ICE)
1260     $(LI $(BUGZILLA 1272): problems with the new 1.0 section)
1261     $(LI $(BUGZILLA 1276): static assert message displayed with escaped characters)
1262     $(LI $(BUGZILLA 1283): writefln: formatter applies to following variable)
1263 )
1264 )
1265
1266 $(VERSION 016, Jun 14, 2007, =================================================,
1267
1268 $(WHATSNEW
1269     $(LI The compiler was not changed.)
1270     $(LI Added aliases $(B string), $(B wstring), and $(B dstring) to ease
1271     compatiblity with 2.0.)
1272 )
1273
1274 $(BUGSFIXED
1275 )
1276 )
1277
1278 $(VERSION 015, Jun 5, 2007, =================================================,
1279
1280 $(BUGSFIXED
1281     $(LI Added missing \n to exception message going to stderr.)
1282     $(LI Fixed default struct initialization for CTFE.)
1283     $(LI $(BUGZILLA 1226): ICE on a struct literal)
1284     $(LI Fixed gc memory corrupting problem.)
1285 )
1286 )
1287
1288 $(VERSION 014, Apr 26, 2007, =================================================,
1289
1290 $(WHATSNEW
1291     $(LI Added $(LINK2 expression.html#AssocArrayLiteral, associative array literals))
1292     $(LI Added struct literals)
1293     $(LI Array element assignments can now be done in CTFE)
1294 )
1295
1296 $(BUGSFIXED
1297     $(LI $(BUGZILLA 1000): writefln fails on nested arrays)
1298     $(LI $(BUGZILLA 1143): Assertion failure: '0' on line 850 in 'template.c' - On specialization of IFTI template parameters.)
1299     $(LI $(BUGZILLA 1144): template mixin causes DMD crash)
1300     $(LI $(BUGZILLA 1146): mixin + assert() crashes compiler)
1301     $(LI $(BUGZILLA 1153): dmd assertion failure)
1302     $(LI $(BUGZILLA 1159): Various mixins cause "CompileExp::semantic" message, some crash DMD)
1303     $(LI $(BUGZILLA 1174): Program hangs creating an array of enums with nonzero initializer)
1304     $(LI $(BUGZILLA 1177): $(DOLLAR) no longer works inside CTFE functions.)
1305     $(LI $(BUGZILLA 1180): the GC failes to handle large allocation requests propperly)
1306     $(LI $(BUGZILLA 1189): Reverse the titles on web pages)
1307 )
1308 )
1309
1310 $(VERSION 013, Apr 19, 2007, =================================================,
1311
1312 $(BUGSFIXED
1313     $(LI Fixed crash with std.format and static arrrays)
1314     $(LI $(BUGZILLA 582): Cannot slice mixed tuples)
1315     $(LI $(BUGZILLA 594): can't cast arrayliteral statically)
1316     $(LI $(BUGZILLA 595): can't append to array/arrayliteral statically)
1317     $(LI $(BUGZILLA 997): [Regression] Struct-returning function that conditionally passes the result of another function straight through doesn't work (NRVO bug?))
1318     $(LI $(BUGZILLA 1090): Attribute specification: "}" vs "end of scope")
1319     $(LI $(BUGZILLA 1091): Wrong size reserved for critical sections)
1320     $(LI $(BUGZILLA 1094): switch bug)
1321     $(LI $(BUGZILLA 1096): Mysterious hang with toUTCString + UTCtoLocalTime + d_time_nan)
1322     $(LI $(BUGZILLA 1098): symbol collision in d/dmd/expression.c between math.h and port.h)
1323     $(LI $(BUGZILLA 1119): Internal error: ../ztc/cgcod.c 2190 (template instantiation))
1324     $(LI $(BUGZILLA 1121): Assertion codegen issue with templated function)
1325     $(LI $(BUGZILLA 1132): DMD calling linker over commandline)
1326     $(LI $(BUGZILLA 1134): incorrect calling convention used)
1327     $(LI $(BUGZILLA 1135): invariant keyword parsing is messed up)
1328     $(LI $(BUGZILLA 1147): Typo in phobos/std/file.d: 4069 should be 4096)
1329     $(LI $(BUGZILLA 1148): Problems returning structs from functions)
1330     $(LI $(BUGZILLA 1150): Compiler creates wrong code)
1331     $(LI $(BUGZILLA 1156): Installed libraries need to be passed in different order)
1332     $(LI $(BUGZILLA 1163): Can't initialize multiple variables with void.)
1333 )
1334 )
1335
1336 $(VERSION 012, Apr 12, 2007, =================================================,
1337
1338 $(BUGSFIXED
1339     $(LI $(NG_digitalmars_D_announce 8190) now works with $(B -v1))
1340     $(LI $(NG_digitalmars_D_announce 8193))
1341     $(LI $(BUGZILLA 532): Wrong name mangling for template alias params of local vars)
1342     $(LI $(BUGZILLA 1068): stack corruption with mixins and function templates)
1343     $(LI $(BUGZILLA 1089): Unsafe pointer comparison in TypeInfo_Pointer.compare)
1344     $(LI $(BUGZILLA 1127): -v1 doesn't disable the ref and macro keywords)
1345 )
1346 )
1347
1348 $(VERSION 011, Apr 11, 2007, =================================================,
1349
1350 $(WHATSNEW
1351     $(LI Extended $(LINK2 abi.html#codeview, Codeview)
1352     symbolic debug output with LF_OEM types.)
1353     $(LI Extended $(LINK2 abi.html#dwarf, Dwarf)
1354     symbolic debug output with DW_TAG_darray_type,
1355     DW_TAG_aarray_type, and DW_TAG_delegate types.)
1356     $(LI Added keywords $(B ref) and $(B macro).)
1357     $(LI $(B final) classes cannot be subclassed.)
1358     $(LI $(B final) for variables now works.)
1359     $(LI $(B ref) now works as a replacement for $(B inout).)
1360     $(LI Fixed so multiple type inferring declarations like
1361     $(CODE auto a=1,c=2;) works.)
1362 )
1363
1364 $(BUGSFIXED
1365     $(LI Fixed problem with overloading of function templates that
1366     have the same template parameter list, but different function
1367     parameters.)
1368     $(LI Fixed problems with type deduction from specializations that
1369     are template instances.)
1370     $(LI Fixed assert template.c(2956) s->parent)
1371     $(LI Got .$(I property) to work for typeof.)
1372     $(LI Fixed bug in DW_AT_comp_dir output for some linux versions.)
1373     $(LI $(NG_digitalmars_D_announce 8027))
1374     $(LI $(NG_digitalmars_D_announce 8047))
1375     $(LI $(NG_digitalmars_D 51800))
1376     $(LI $(BUGZILLA 1028): Segfault using tuple inside asm code.)
1377     $(LI $(BUGZILLA 1052): DMD 1.009 - aliasing functions from superclasses may result in incorrect conflicts)
1378     $(LI $(BUGZILLA 1080): Failed to link to std.windows.registry)
1379     $(LI $(BUGZILLA 1081): with using real and -O option, dmd generate bug code)
1380     $(LI $(BUGZILLA 1082): The .offsetof property yields a signed int, a size_t would be more appropriate)
1381     $(LI $(BUGZILLA 1086): CodeView: missing line information for string switch)
1382     $(LI $(BUGZILLA 1092): compiler crash in ..\ztc\cod1.c 2528)
1383     $(LI $(BUGZILLA 1102): switch case couldn't contain template member)
1384     $(LI $(BUGZILLA 1108): Indexing an int[] not evaluatable at compile time)
1385     $(LI $(BUGZILLA 1122): dmd generate bad line number while reporting error message)
1386 )
1387 )
1388
1389 $(VERSION 010, Mar 24, 2007, =================================================,
1390
1391 $(WHATSNEW
1392     $(LI Added template partial specialization derived from multiple
1393     parameters.)
1394     $(LI Added Object.factory(char[] classname) method to create
1395     class objects based on a string.)
1396     $(LI Added std.gc.malloc(), std.gc.extend() and std.gc.capacity().)
1397     $(LI Added std.string.isEmail() and std.string.isURL().)
1398     $(LI Added std.stdio.readln().)
1399     $(LI Improved gc performance for array resize and append.)
1400     $(LI $(BUGZILLA 64): Unhandled errors should go to stderr)
1401     $(LI Added predefined Ddoc macro DOCFILENAME)
1402 )
1403
1404 $(BUGSFIXED
1405     $(LI Fixed $(LINK2 http://www.digitalmars.com/d/archives/digitalmars/D/bugs/Broken_link_in_http_digitalmars.com_d_comparison.html_10906.html, Broken link in http://digitalmars.com/d/comparison.html))
1406     $(LI Fixed problem with CTFE and array literals)
1407     $(LI $(BUGZILLA 931): D Strings vs C++ Strings Page Incorrect)
1408     $(LI $(BUGZILLA 935): Extern Global C Variables)
1409     $(LI $(BUGZILLA 948): operatoroverloading.html - Rationale section is both out of date and incomplete)
1410     $(LI $(BUGZILLA 950): Missing filename and line number: conflict between implicit length in [...] and explicit length declared in the scope)
1411     $(LI $(BUGZILLA 959): smaller ddoc documentation issue)
1412     $(LI $(BUGZILLA 1056): segfault with pragma(msg) inside CTFE)
1413     $(LI $(BUGZILLA 1062): Cannot catch typedef'd class)
1414     $(LI $(BUGZILLA 1074): Dead link to std.c.locale webpage)
1415 )
1416 )
1417
1418 $(VERSION 009, Mar 10, 2007, =================================================,
1419
1420 $(BUGSFIXED
1421     $(LI $(NG_digitalmars_D 49928) 1)
1422     $(COMMENT $(NG_digitalmars_D_announce 7563))
1423     $(LI $(LINK2 http://www.digitalmars.com/d/archives/digitalmars/D/announce/DMD_1.007_release_7507.html#N7563, D.announce 7563))
1424     $(LI $(BUGZILLA 146): Wrong filename in DWARF debugging information for templates)
1425     $(LI $(BUGZILLA 992): CTFE Failure with static if)
1426     $(LI $(BUGZILLA 993): incorrect ABI documentation for float parameters)
1427     $(LI $(BUGZILLA 995): compile-time function return element of Tuple / const array)
1428     $(LI $(BUGZILLA 1005): dmd: tocsym.c:343: virtual Symbol* FuncDeclaration::toSymbol(): Assertion `0' failed.)
1429     $(LI $(BUGZILLA 1009): CodeView: out and inout parameters are declared void*)
1430     $(LI $(BUGZILLA 1014): Error with character literal escaping when generating header with -H)
1431     $(LI $(BUGZILLA 1016): CTFE fails with recursive functions)
1432     $(LI $(BUGZILLA 1017): CTFE doesn't support (string == string))
1433     $(LI $(BUGZILLA 1018): regression: Error: divide by 0)
1434     $(LI $(BUGZILLA 1019): regression: missing filename and line number: Error: array index X is out of bounds [0 .. Y])
1435     $(LI $(BUGZILLA 1020): regression: mov EAX, func)
1436     $(LI $(BUGZILLA 1021): CTFE and functions returning void)
1437     $(LI $(BUGZILLA 1022): CodeView: unions have zero length in typeleafs and datasymbols)
1438     $(LI $(BUGZILLA 1026): dmd SEGV when checking length of Tuple elements when length == 0)
1439     $(LI $(BUGZILLA 1030): ICE one-liner; struct in delegate)
1440     $(LI $(BUGZILLA 1038): explicit class cast breakage in 1.007)
1441 )
1442 )
1443
1444 $(VERSION 007, Feb 20, 2007, =================================================,
1445
1446 $(WHATSNEW
1447     $(LI Comparison operators are no longer associative; comparison,
1448     equality, identity and in operators all have the same precedence.)
1449     $(LI $(CODE out) and $(CODE inout) parameters are now allowed
1450     for compile time function execution.)
1451     $(LI The $(CODE .dup) property is now allowed
1452     for compile time function execution.)
1453     $(LI Updated $(LINK2 http://www.digitalmars.com/ctg/lib.html, lib)
1454     to insert COMDATs into symbol table.)
1455     $(LI Class references can no longer be implicitly converted to
1456     $(CODE void*).)
1457 )
1458
1459 $(BUGSFIXED
1460     $(LI $(NG_digitalmars_D 48806) crash)
1461     $(LI $(NG_digitalmars_D 48811))
1462     $(LI $(NG_digitalmars_D 48845))
1463     $(LI $(NG_digitalmars_D 48869))
1464     $(LI $(NG_digitalmars_D 48917))
1465     $(LI $(NG_digitalmars_D 48953))
1466     $(LI $(NG_digitalmars_D 48990))
1467     $(LI $(NG_digitalmars_D 49033))
1468     $(LI $(NG_digitalmars_D_announce 7496))
1469     $(LI $(BUGZILLA 968): ICE on compile-time execution)
1470     $(LI $(BUGZILLA 974): compile-time parenthesis bug)
1471     $(LI $(BUGZILLA 975): compile-time const array makes dmd crash)
1472     $(LI $(BUGZILLA 980): If a function tries to concatenate a char to a empty array, dmd complains that the function can't be evaluated at compile time)
1473     $(LI $(BUGZILLA 981): CFTE fails in non-template and functions that takes no args.)
1474     $(LI $(BUGZILLA 986): Internal error: e2ir.c 1098)
1475 )
1476 )
1477
1478 $(VERSION 006, Feb 15, 2007, =================================================,
1479
1480 $(WHATSNEW
1481     $(LI Added $(B -J)$(I path) switch, which is now required in
1482     order to import text files.)
1483     $(LI Enhanced $(B -v) output to include actual filename.)
1484     $(LI name string for TypeInfo_Struct now part of the
1485     TypeInfo_Struct comdat.)
1486     $(LI $(LINK2 function.html#interpretation, Compile time execution)
1487     of functions)
1488 )
1489
1490 $(BUGSFIXED
1491     $(LI $(BUGZILLA 960): New: DMD 1.0 is in the past -- not the future)
1492     $(LI Codeview for classes now gives correct LF_CLASS)
1493 )
1494 )
1495
1496 $(VERSION 005, Feb 5, 2007, =================================================,
1497
1498 $(WHATSNEW
1499     $(LI $(B -v) now emits pragma library statements and
1500     imported file names)
1501     $(LI deprecated $(B ===), and $(B !==), tokens no longer recognized)
1502     $(LI $(CODE length) can no longer shadow other $(CODE length) declarations)
1503     $(LI Added $(LINK2 statement.html#MixinStatement, MixinStatement)s,
1504       $(LINK2 expression.html#MixinExpression, MixinExpression)s,
1505       and $(LINK2 module.html#MixinDeclaration, MixinDeclaration)s.)
1506     $(LI Added $(LINK2 expression.html#ImportExpression, ImportExpression)s.)
1507     $(LI Added $(LINK2 phobos/std_metastrings.html, std.metastrings))
1508 )
1509
1510 $(BUGSFIXED
1511     $(LI $(BUGZILLA 761): std.format.doFormat fails for items of a char[][] containing %s)
1512     $(LI $(BUGZILLA 784): regression: [Issue 402] compiler crash with mixin and forward reference)
1513     $(LI $(BUGZILLA 787): incorrect documentation of std.ctype.isprint)
1514     $(LI $(BUGZILLA 788): Compiler rejects hex floats in the format: HexPrefix HexDigits . HexDigits(opt) with binary-exponent-part required)
1515     $(LI $(BUGZILLA 789): const initialization in forwarding constructors doesn't work)
1516     $(LI $(BUGZILLA 791): dhry.d example doesn't compile in 1.0 without trivial change)
1517     $(LI $(BUGZILLA 794): std.math.exp2(0) equals 0 instead of 1)
1518     $(LI $(BUGZILLA 800): writefln() on an associative array fails hard)
1519     $(LI $(BUGZILLA 821): segfault with char array copy; mistaken samples in doc)
1520     $(LI $(BUGZILLA 831): Warning!! String literals are read-only one some platforms.)
1521     $(LI $(BUGZILLA 832): NRVO: return inside foreach results in junk)
1522     $(LI $(BUGZILLA 835): RegExp.test wrongly matches strings on case insensitive attribute)
1523     $(LI $(BUGZILLA 846): Error 42: Symbol Undefined _D1a7__arrayZ)
1524     $(LI $(BUGZILLA 848): typo in C sorting example)
1525     $(LI $(BUGZILLA 862): Selectively importing a nonexistent identifier results in spurious and incorrect error message)
1526     $(LI $(BUGZILLA 872): Assertion in expression.c caused by taking typeof of "this.outer" in nested classes.)
1527     $(LI $(BUGZILLA 875): crash in glue.c line 700)
1528     $(LI $(BUGZILLA 886): std.zlib uncompression routines do not mark result as containing no pointers)
1529     $(LI $(BUGZILLA 887): TypeInfo does not correctly override opCmp, toHash)
1530     $(LI $(BUGZILLA 888): -cov and _ModuleInfo  linking bugs)
1531     $(LI $(BUGZILLA 890): Returning char[4] and assigning to char[] produces unexpected results.)
1532     $(LI $(BUGZILLA 891): Crash when compiling the following code (tested with 1.0, 1.001 and 1.002))
1533     $(LI $(BUGZILLA 893): The profile flag no longer seems to work on Linux x86 64)
1534     $(LI $(BUGZILLA 894): base class with implemented abstract method problem)
1535     $(LI $(BUGZILLA 897): fix default dmd.conf file)
1536     $(LI $(BUGZILLA 898): std.conv.toInt doesn't raise ConvOverflowError)
1537     $(LI $(BUGZILLA 901): Comparison of array literals fails)
1538     $(LI $(BUGZILLA 903): Example with printf and string literals crashes)
1539     $(LI $(BUGZILLA 908): compiler dies trying to inline static method call to nonstatic method in template code.)
1540     $(LI $(BUGZILLA 910): Error in description of "this" and "super" keywords)
1541     $(LI $(BUGZILLA 913): deprecated tokens still listed)
1542     $(LI $(BUGZILLA 915): dmd generate bad form return(retn 4) for invariant func)
1543     $(LI $(BUGZILLA 916): regression: Internal error: ../ztc/gloop.c 1305)
1544     $(LI $(BUGZILLA 917): regression: circular typedefs cause segfaults)
1545     $(LI $(BUGZILLA 924): GC collects valid objects)
1546     $(LI $(NG_digitalmars_D_announce 6983))
1547 )
1548 )
1549
1550 $(VERSION 004, Jan 26, 2007, =================================================,
1551
1552 $(BUGSFIXED
1553     $(LI $(BUGZILLA 892): Another bug in the new GC - pointers in mixins)
1554 )
1555 )
1556
1557 $(VERSION 003, Jan 26, 2007, =================================================,
1558
1559 $(BUGSFIXED
1560     $(LI $(NG_digitalmars_D_announce 6929))
1561     $(LI $(NG_digitalmars_D_announce 6953))
1562 )
1563 )
1564
1565 $(VERSION 002, Jan 24, 2007, =================================================,
1566
1567 $(BUGSFIXED
1568     $(LI $(NG_digitalmars_D_announce 6893): ClassInfo.flags incorrectly set)
1569     $(LI $(NG_digitalmars_D_announce 6906): Three subtle cases of tail recursion item 1 and 2)
1570 )
1571 )
1572
1573 $(VERSION 001, Jan 23, 2007, =================================================,
1574
1575 $(WHATSNEW
1576     $(LI tail recursion works again)
1577     $(LI New type aware GC)
1578 )
1579
1580 $(BUGSFIXED
1581     $(LI $(BUGZILLA 621): When inside a loop, if you call break inside a try block the finally block is never executed)
1582     $(LI $(BUGZILLA 804): missing linux functions)
1583     $(LI $(BUGZILLA 815): scope(exit) isn't executed when "continue" is used to continue a while-loop)
1584     $(LI $(BUGZILLA 817): const char[] = string_literal - string_literal gets included for every reference)
1585     $(LI $(BUGZILLA 819): mention response files in cmd line usage)
1586     $(LI $(BUGZILLA 820): gc should scan only pointer types for pointers)
1587     $(LI $(BUGZILLA 823): frontend: incorrect verror declaration in mars.h)
1588     $(LI $(BUGZILLA 824): "mov EAX, func;" and "lea EAX, func;" generate incorrect code)
1589     $(LI $(BUGZILLA 825): dmd segmentation fault with large char[] template value parameter)
1590     $(LI $(BUGZILLA 826): ICE: is-expression with invalid template instantiation)
1591 )
1592 )
1593
1594 )
1595
1596 Macros:
1597     TITLE=Change Log
1598     WIKI=ChangeLog
1599
1600     NEW1 = $(LI What's new for <a href="#new1_$0">D 1.$0</a>)
1601
1602     VERSION=
1603     <div id=version>
1604     $(B $(LARGE <a name="new1_$1">
1605       Version
1606       <a HREF="http://ftp.digitalmars.com/dmd.1.$1.zip" title="D 1.$1">D 1.$1</a>
1607     ))
1608     $(SMALL $(I $2, $3))
1609     $5
1610     </div>
1611
1612     BUGZILLA = <a href="http://d.puremagic.com/issues/show_bug.cgi?id=$0">Bugzilla $0</a>
1613     CPPBUGZILLA = <a href="http://bugzilla.digitalmars.com/issues/show_bug.cgi?id=$0">Bugzilla $0</a>
1614     DSTRESS = dstress $0
1615     BUGSFIXED = <h4>Bugs Fixed</h4> $(UL $0 )
1616     WHATSNEW = <h4>New/Changed Features</h4> $(UL $0 )
1617     LARGE=<font size=4>$0</font>
Note: See TracBrowser for help on using the browser.