# HG changeset patch # User Christian Kamm # Date 1232657200 -3600 # Node ID d51551cb3a85957e9b4b8e5b312bf98ecbe647b9 # Parent 177afbf5297be3c1851dd35389af108cfc32dee9 Fix #174. diff -r 177afbf5297b -r d51551cb3a85 dmd/statement.c --- a/dmd/statement.c Thu Jan 22 18:53:32 2009 +0100 +++ b/dmd/statement.c Thu Jan 22 21:46:40 2009 +0100 @@ -2334,7 +2334,12 @@ a->reserve(4); a->push(body); - a->push(new BreakStatement(loc, NULL)); + + // LDC needs semantic to be run on break + Statement *breakstmt = new BreakStatement(loc, NULL); + breakstmt->semantic(sc); + a->push(breakstmt); + sc->sw->sdefault = new DefaultStatement(loc, s); a->push(sc->sw->sdefault); cs = new CompoundStatement(loc, a); diff -r 177afbf5297b -r d51551cb3a85 tests/mini/compile_bug174_enclosing_on_break.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/mini/compile_bug174_enclosing_on_break.d Thu Jan 22 21:46:40 2009 +0100 @@ -0,0 +1,5 @@ +void main() +{ + scope Object o; + switch(0) {} +}