[dmd-internals] Next round of ICE and wrong-code patches

Don Clugston dclugston at googlemail.com
Tue Dec 21 02:05:03 PST 2010


These patches have built up while waiting for the 2.051 to be cleared
for release.

//Trivial:
5242 self referencing template constraint crashes compiler

// These two are back-end optimizer bugs, though they are only
incorrect asserts. I think the second one is quite interesting, it
shows the optimiser has
// an O(n^^2) performance for comma expressions. If you ever find the
optimiser is slow, I think there's an excellent chance that that is
the reason.
4379 ICE(blockopt.c): foreach over huge tuple, only with -O
3681 ICE(go.c): when function takes too long to optimize, only with -O.

5025 ICE(cast.c) shared struct literal
5090 ICE(todt.c) struct literal initializing zero length array
4389 ICE(constfold.c, expression.c), or wrong code: string~=dchar in CTFE
 ---> this one is fairly large, I can commit it if you prefer

// mitigation only.
4860 Taking delegates to a member function broken if method is also
aliased in from a base class


More information about the dmd-internals mailing list