www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 1368] New: Default template parameter + template recursion + mixin = segfault

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1368

           Summary: Default template parameter + template recursion + mixin
                    = segfault
           Product: D
           Version: unspecified
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: reiner.pope gmail.com


The following code causes a compiler segfault:

void main()
{
    mixin Foo!();
}

template Foo(uint i = 0)
{
    static if (i == 0)
        mixin Foo!(i + 1);
}

Removing the parameter's default value, or turning the mixin in main() into an
alias avoids the segfault.


-- 
Jul 24 2007
parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1368


clugdbug yahoo.com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME





No longer segfaults in DMD1.042 and DMD2.027.


-- 
Apr 03 2009