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