[dmd-internals] Delete 4 lines, fix 8 ICE bugs...

Walter Bright walter at digitalmars.com
Sun Nov 7 14:14:02 PST 2010


Done. (and Thanks, Don!)

Don Clugston wrote:
> According to TDPL, const T[] is supposed to mean const(const(T)[]).
> But currently, it isn't; it's const(mutable(T)[])
> I've added a patch to bug 4434. The patch is very simple (just delete 4 lines).
> This fixes *at least* the following bugs:
>
> 4366 ICE(mtype.c) constrained template pure function with
> array/pointer parameter
> 4434 ICE(mtype.c, 887) alias with const, shared, or immutable
> 4709 ICE(mtype.c): undefined variable in const struct
> 4743 ICE(mtype.c) involving "in UnknownType*"
> 4830 Regression(2.038) ICE mtype.c:879: void Type::check(): Assertion
> `tn->mod == 4' failed
> 4871 ICE(mtype.c 875) const alias
> 4964 ICE(mtype.c) casting to undefined types
> 4980 ICE(mtype.c) on unknown type in a shared class/struct
>
> There were also several other reported bugs which were duplicates of
> some of these. There may be more...
>
> A closely related bug which requires its own one-line patch is this one:
> 4254 ICE(mtype.c): function with const inout parameter
>
> and this is another one-liner (though it needs a trivial spec change as well).
> 5120 ICE(mtype.c) void associative arrays
>
>   


More information about the dmd-internals mailing list