[Issue 13966] [REG2.067a] dmd: expression.c:3761: size_t StringExp::length(int): Assertion `encSize == 1 || encSize == 2 || encSize == 4' failed.

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Jan 10 08:32:39 PST 2015


https://issues.dlang.org/show_bug.cgi?id=13966

Kenji Hara <k.hara.pg at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|ice-on-valid-code           |ice, pull
            Summary|dmd: expression.c:3761:     |[REG2.067a] dmd:
                   |size_t                      |expression.c:3761: size_t
                   |StringExp::length(int):     |StringExp::length(int):
                   |Assertion  `encSize == 1 || |Assertion  `encSize == 1 ||
                   |encSize == 2 || encSize ==  |encSize == 2 || encSize ==
                   |4' failed.                  |4' failed.

--- Comment #2 from Kenji Hara <k.hara.pg at gmail.com> ---
(In reply to sinkuupump from comment #1)
> DustMite found that ICE happens in dom.d at
> 
>     current.attributesIncludesSeparatedBySpaces ~= ["class", token];
> 
> where 'attributesIncludesSeparatedBySpaces' is string[2][].
> 
> 
> void test() {
>     string[1][] arr;
>     arr ~= ["class"]; // ICE
> }

The reduced case was much helpful to me. Thanks!

https://github.com/D-Programming-Language/dmd/pull/4276

--


More information about the Digitalmars-d-bugs mailing list