[Issue 6401] infinite loop with -inline in gflow.c:accumaecpx
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Wed Oct 10 22:49:55 UTC 2018
    
    
  
https://issues.dlang.org/show_bug.cgi?id=6401
--- Comment #6 from Iain Buclaw <ibuclaw at gdcproject.org> ---
Somewhat reduced test:
---
enum LIBRARY
{
    GTK
}
struct Linker
{
    static void link(T)(ref T funct, string symbol, LIBRARY[] libraries ...)
    {
    }
}
static this()
{
    static foreach(i; 0 .. 10_000)
        Linker.link(somefunc, "somefunc", LIBRARY.GTK);
}
void function() c_somefunc;
alias c_somefunc  somefunc;
---
To prove that this isn't too much of a contrived test, I checked the compile
times of other compilers.
dmd -O -release -inline | 3 minutes 12 seconds.
gdc -O2 -frelease       | 6 seconds.
ldc -O2 -release        | 8 seconds.
Actually, the dmd compiler segfaults, I assume because I managed to hit a stack
overflow.
--
    
    
More information about the Digitalmars-d-bugs
mailing list