Mercurial > projects > ldc
diff dmd/statement.h @ 239:fa691b1c0498 trunk
[svn r256] AsmBlockStatement was still being flattened in some cases.
Function parameters passed as arguments to inline asm was not given storage.
author | lindquist |
---|---|
date | Sun, 08 Jun 2008 22:07:10 +0200 |
parents | 092468448d25 |
children | 88252a1af660 |
line wrap: on
line diff
--- a/dmd/statement.h Sun Jun 08 21:23:09 2008 +0200 +++ b/dmd/statement.h Sun Jun 08 22:07:10 2008 +0200 @@ -170,13 +170,13 @@ CompoundStatement(Loc loc, Statements *s); CompoundStatement(Loc loc, Statement *s1, Statement *s2); - Statement *syntaxCopy(); + virtual Statement *syntaxCopy(); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); Statement *semantic(Scope *sc); int usesEH(); int fallOffEnd(); int comeFrom(); - Statements *flatten(Scope *sc); + virtual Statements *flatten(Scope *sc); ReturnStatement *isReturnStatement(); Expression *interpret(InterState *istate); @@ -184,9 +184,9 @@ Expression *doInline(InlineDoState *ids); Statement *inlineScan(InlineScanState *iss); - void toIR(IRState *irs); + virtual void toIR(IRState *irs); - CompoundStatement *isCompoundStatement() { return this; } + virtual CompoundStatement *isCompoundStatement() { return this; } }; /* The purpose of this is so that continue will go to the next @@ -795,6 +795,9 @@ { AsmBlockStatement(Loc loc, Statements *s); Statements *flatten(Scope *sc); + Statement *syntaxCopy(); + + CompoundStatement *isCompoundStatement() { return NULL; } AsmBlockStatement *isAsmBlockStatement() { return this; } void toIR(IRState *irs);