[dmd-internals] Support of OpenBSD

Martin Nowak dawg at dawgfoto.de
Wed Aug 8 20:40:49 PDT 2012


On Tue, 07 Aug 2012 18:14:36 +0200, Konstantin Staver  
<mad.skipjack at gmail.com> 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


More information about the dmd-internals mailing list