Mercurial > projects > ldc
diff dmd/statement.h @ 1159:c6d6a68bb5db
Add back some enclosing scope-exit information to the frontend to produce
proper error messages inside switch statements.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 28 Mar 2009 14:39:16 +0100 |
parents | f99a3b393c03 |
children | e961851fb8be |
line wrap: on
line diff
--- a/dmd/statement.h Sat Mar 28 14:26:23 2009 +0100 +++ b/dmd/statement.h Sat Mar 28 14:39:16 2009 +0100 @@ -469,6 +469,9 @@ Array gotoCases; // array of unresolved GotoCaseStatement's Array *cases; // array of CaseStatement's int hasNoDefault; // !=0 if no default statement + + // LDC + Statement *enclosingScopeExit; SwitchStatement(Loc loc, Expression *c, Statement *b); Statement *syntaxCopy(); @@ -491,6 +494,9 @@ int index; // which case it is (since we sort this) block *cblock; // back end: label for the block + // LDC + Statement *enclosingScopeExit; + CaseStatement(Loc loc, Expression *exp, Statement *s); Statement *syntaxCopy(); Statement *semantic(Scope *sc); @@ -519,6 +525,9 @@ block *cblock; // back end: label for the block #endif + // LDC + Statement *enclosingScopeExit; + DefaultStatement(Loc loc, Statement *s); Statement *syntaxCopy(); Statement *semantic(Scope *sc);