compiler aborts with std.file.dirEntries

Jarrett Billingsley kb3ctd2 at yahoo.com
Wed Jul 23 21:03:35 PDT 2008


"MIURA Masahiro" <miura at accense.com> wrote in message 
news:g68u6n$2egk$1 at digitalmars.com...
> Hi,
>
> I got a DMD abort.
>
> ---- cut here ----
> % cat dmdabort.d
> import std.file;
>
> string find_file(string directory)
> {
>    char[] result;
>    foreach (string path; dirEntries(directory, SpanMode.shallow)) {
>        string fullpath = std.file.join(directory, path);
>        // ...
>    }
>    return cast(string)result;
> }
>
> void main(string[] args)
> {
>    // writefln("%s", find_file("."));
> }
> % dmd dmdabort.d
> dmd: expression.c:5222: virtual Expression* DotIdExp::semantic(Scope*):
> Assertion `0' failed.
> zsh: abort      dmd dmdabort.d
> %
> ---- cut here ----
>
> Comment out the "string fullpath =" line and it compiles.
> It's DMD 2.017 on Linux.  Any help please?

Whenever you get an assertion failure in the compiler, it's a bug.  Please 
report it using Bugzilla (http://d.puremagic.com/issues/) if it hasn't been 
reported already. 




More information about the Digitalmars-d-learn mailing list