[Issue 5079] [ICE on invalid code] '0' on line 1103 in file 'glue.c' on undefined symbol during CTFE

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sun Oct 24 08:48:06 PDT 2010


http://d.puremagic.com/issues/show_bug.cgi?id=5079


Rob Jacques <sandford at jhu.edu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-invalid-code
           Severity|normal                      |blocker


--- Comment #1 from Rob Jacques <sandford at jhu.edu> 2010-10-24 08:47:19 PDT ---
This ICE/assertion error is also tripping up std.variant, specifically using
DMD 2.049 the following:

import std.variant;
void main(string[] args) {
    Algebraic!(This[string]) ice;
}

Results in an [ICE] Assertion failure: '0' on line 1103 in file 'glue.c'

Tracing this down, this is the offending piece of code.

template maxSize(T...) {
    enum size_t maxSize = T[0].sizeof;
}
struct This;
enum foobar = maxSize!(This[string]);

In this case, the correct error is
Error: struct This is forward referenced

This has been blocking Phobos development, both in std.variant and with regard
to improving std.json by using Algebraic, so I've upgraded the importance.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list