[新闻] dmd 1.046 and 2.031 releases
hqs7636
2009-07-06
这一版终于出来了,刚刚新鲜出炉的,还冒着热气呢。。。
好像日期没改 Version D 2.031 May 14, 2009 New/Changed Features * Renamed root directory \dmd to \dmd2 * Use of with symbols that shadow local symbols is no longer allowed * Added statement.html#FinalSwitchStatement * Added statement.html#CaseRangeStatement * Implicit integral conversions that could result in loss of significant bits are no longer allowed. * Warning on no return expr; is now an error. * Bugzilla 3080: dmd should output compilation errors to stderr, not stdout * Bugzilla 3122: [patch] Adding support for fast and reliable build tools to the frontend * std.algorithm: Made std.algorithm.swap faster by having it use memcpy; added std.algorithm.group, std.algorithm.until, std.algorithm.nWayUnion, std.algorithm.largestPartialIntersectionWeighted; added additional constraints to std.algorithm.equal; changed signature of std.algorithm.topNIndex and std.algorithm.topNCopy to use an enum parameter instead of a confusing bool. * std.array: added array function. * std.conv: added Shin Fujishiro's code for printing and parsing enumerated values. * std.ctype: made isupper and tolower pure. * std.date: changed signature of benchmark to return ulong[] instead of uint[]. * std.demangle: changed it to use the snazzy switch statement with ranged labels. * std.random: added randomSample * std.string: deprecated std.string.find and std.string.find, replaced with std.string.indexOf; deprecated std.string.rfind and std.string.irfind, replaced with std.string.lastIndexOf; added flag CaseSensitive for indexOf and lastIndexOf; removed startsWith and endsWith because std.algorithm defines them; defined std.string.byDchar. * std.traits: added isSomeChar, isPointer. * std.typetuple: replaced indexOf with indexOfType, kept the old name as an alias that will be deprecated. * std.utf: improved error messages. Bugs Fixed * Fix dmd crash on multicore Windows. * Fixed unlisted bug in std.algorithm.startsWith * Fixed unlisted bug in std.algorithm.topN * Fixed unlisted bug in std.algorithm.topNIndex (empty index made it crash) * Fixed unlisted bug in std.algorithm.setIntersection * Fixed unlisted bug in std.range.retro: retro'izing a range twice must return the original range * Bugzilla 106: template - mixin sequence * Bugzilla 852: Various errors with static initialization of structs and arrays * Bugzilla 1343: Various errors with static initialization of structs and arrays * Bugzilla 1358: ICE(root.c) on Unicode codepoints greater than 0x7FFFFFFF * Bugzilla 1524: ICE(constfold.c) on using "is" with strings in CTFE * Bugzilla 1984: Assertion failure: 'e1->type' on line 1198 in file 'constfold.c' * Bugzilla 2323: ICE(cgcs.c): taking address of a method of a temporary struct * Bugzilla 2399: ICE(cgcod.c) on casting function to delegate * Bugzilla 2429: std.stream.File incorrect flag parsing and sharing mode * Bugzilla 2432: complex alias -> mtype.c:125: virtual Type* Type::syntaxCopy(): Assertion `0' failed. * Bugzilla 2603: ICE(cgcs.c) on subtracting string literals * Bugzilla 2843: ICE(constfold.c) with is-expression with invalid dot-expression in is-expression involving typeid * Bugzilla 2875: ICE(cgcod.c) setting delegate = &Struct.func * Bugzilla 2884: ICE: Assert: 'template.c', line 3773, 'global.errors' * Bugzilla 2888: [PATCH] speedup for float * 2.0 * Bugzilla 2900: Array appending slowed drastically since integration of druntime * Bugzilla 2915: [Patch]: Optimize -a*-b into a*b * Bugzilla 2923: -O generates bad code for ?: * Bugzilla 2932: bad e_ehsize (36 != 52) * Bugzilla 2952: Segfault on exit when using array ops with arrays of doubles larger than 8 elements * Bugzilla 2974: Segfault(mtype.c) on auto function * Bugzilla 2981: Bad code generation for structs containing invariants * Bugzilla 2982: Assertion failure in function if() clause * Bugzilla 3003: Need to implicitly add () on member template function calls * Bugzilla 3014: ICE(template.c) instantiating template with tuple * Bugzilla 3016: Errors in the documentation of std.math.acos * Bugzilla 3026: Segfault with incomplete static array initializer * Bugzilla 3044: Segfault(template.c) instantiating struct tuple constructor with zero arguments. * Bugzilla 3071: nested func declaration parse problem * Bugzilla 3075: void delegate(const(void)[]) should be implicitly convertable to void delegate(void[]) * Bugzilla 3078: NaN reported as equal to zero * Bugzilla 3081: unaryFun can't be used to get element out of struct. * Bugzilla 3095: wc example for D2 doesn't compile * Bugzilla 3114: optlink failing on multicore machines * Bugzilla 3117: dmd crash by *1 * Bugzilla 3121: recurrence does not generate the correct numbers * Bugzilla 3128: Internal error: ..\ztc\cod4.c 2737 * Bugzilla 3130: Crashed with triple stars 这一版比较猛。。。 |
|
oldrev
2009-07-06
不错,修正了一堆 bugs
|
|
betty_betty2008
2009-07-06
老实讲比较感动他们几个一边埋头猛干一边还要听NG里的很多人的轰炸;另一方面,11月中ANDREI出书最后期限也是D2稳定的最后期限了,不论如何现在比较有盼头了。
|
|
hqs7636
2009-07-06
很奇怪,runtime的最后更新是5月5日的,这两个月的bug修复都没加进来,为什么?
|
|
ww21xx
2009-07-06
还好 还好! 我以为他们去躲猪流感去了!
|
|
yntcsb
2009-07-07
1.046版支持一个新的快速、稳定编译的构建系统,好像是很值得期待......
http://wiki.team0xf.com/index.php?n=Tools.XfBuild |
|
ideage
2009-07-07
xfBuild has been tested on projects with 300+ modules and achieves build times of around 2–3 seconds when just a few modules need to be recompiled therein (on a 1.7GHz Intel Centrino CPU).
真的挺牛,试试 |
|
ideage
2009-07-07
xfbuild不能编译文件啊。1.043,46都不行。
|
|
hqs7636
2009-07-07
ng 上这个帖子讨论非常猛,这里倒是静悄悄的
|
|
ideage
2009-07-07
都去和Walter谈论case range 语法了。也有讨论类型大小的问题
|