On Tue, 07 Aug 2012 18:14:36 +0200, Konstantin Staver <[email protected]> wrote:

Hi.

I'm trying to port phobos2 and druntime2 to OpenBSD 5.1. I found next problems:

1) D compiler loops with '-O -release' flags. For example:
$ cat test.d
module my_mod;

void MyFunc()
{
    int[2] arr;
    for (size_t i = 0; i < 2; ++i) {
        arr[i] = 1;
    }
}
$ pwd
/home/walnut/work/druntime
$ dmd -lib -oflib/libtest.a -m32 -O -release -Isrc ./test.d
^C

http://d.puremagic.com/issues/show_bug.cgi?id=8525
https://github.com/D-Programming-Language/dmd/pull/1076

It's pretty hard to debug those IR optimization loops.
For now you can workaround them by disabling the OpenBSD4.x <fenv.h> workarounds in backend/evalu8.c but we should actually fix that some transformations loop if evalu8 fails.

http://www.openbsd.org/cgi-bin/cvsweb/src/include/fenv.h
_______________________________________________
dmd-internals mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/dmd-internals

Reply via email to