[Issue 1200] New: DMD crash: some statements containing only a ConditionalStatement with a false condition

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Apr 28 09:07:35 PDT 2007


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

           Summary: DMD crash: some statements containing only a
                    ConditionalStatement with a false condition
           Product: D
           Version: 1.014
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: ice-on-valid-code
          Severity: minor
          Priority: P3
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: deewiant at gmail.com


void main() {
        do
                debug {}
        while (true);
}

void main() {
        while (true)
                debug {}
}

void main() {
        with (Object.init)
                debug {}
}

void main() {
        synchronized debug {}
}

void main() {
        volatile debug {}
}

Compile the above without -debug thrown and DMD crashes in the semantic3 stage.

As far as I can tell, this happens only for the above statement types, but for
all types of ConditionalStatement: debug, version, static if.

It's easy to work around (hence severity is only "minor") by adding curly
brackets surrounding the ConditionalStatement, for instance:

void main() {
        volatile { debug {} }
}


-- 



More information about the Digitalmars-d-bugs mailing list