www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 1947] New: ICE (Assertion failure: '0' on statement.c:123) with delegate literal and CTFE mixin.

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

           Summary: ICE (Assertion failure: '0' on statement.c:123) with
                    delegate literal and CTFE mixin.
           Product: D
           Version: 2.012
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: brunodomedeiros+bugz gmail.com


string logm() {
        return "";
}

void main() {

        ({

        }); 

        mixin(logm());
}


-- 
Mar 26 2008
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1947


clugdbug yahoo.com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |clugdbug yahoo.com.au
            Summary|ICE (Assertion failure: '0' |ICE (Assertion failure: '0'
                   |on statement.c:123) with    |on statement.c:123) with
                   |delegate literal and CTFE   |null mixin
                   |mixin.                      |




------- Comment #1 from clugdbug yahoo.com.au  2008-05-27 05:04 -------
Renaming this from
"ICE (Assertion failure: '0' on statement.c:123) with delegate literal and CTFE
mixin."

This has nothing to do with delegate literals. Here's a simpler test case:
----
void main() {
    mixin(null);
}
---
On DMD 1.030, this produces:
bug.d(3): Error: argument to mixin must be a string, not (null)

but on DMD 2, it ICEs with:
bug.d(3): Error: argument to mixin must be a string, not (null)
Statement::blockExit(009988FC)
mixin(null);

Assertion failure: '0' on line 123 in file 'statement.c'

abnormal program termination


Interestingly,
----
mixin(null);
---
produces an error on *both* DMD1 and DMD2:

attribute argument to mixin must be a string, not (null)

which has a missing line number. So there are two different but related bugs,
one on DMD 2 only, one which is common.


-- 
May 27 2008
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1947


clugdbug yahoo.com.au changed:

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




------- Comment #2 from clugdbug yahoo.com.au  2008-06-18 10:39 -------
Seems to have been fixed in 2.015.
Missing line number error moved to bugzilla #1947.


-- 
Jun 18 2008
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1947





------- Comment #3 from clugdbug yahoo.com.au  2008-06-18 10:39 -------
Seems to have been fixed in 2.015.
Missing line number error moved to bugzilla #2153.


-- 
Jun 18 2008
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=1947





------- Comment #4 from bugzilla digitalmars.com  2008-06-22 18:53 -------
Fixed dmd 2.015


-- 
Jun 22 2008