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