Mercurial > projects > ldc
diff dmd/expression.h @ 1618:a87f1d6ff48e
Merge DMD r303: harmonize
---
dmd/expression.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++-----
dmd/expression.h | 8 +++++
dmd/template.c | 27 ++++++++++++-------
3 files changed, 95 insertions(+), 18 deletions(-)
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Wed, 06 Jan 2010 15:18:21 -0300 |
parents | 3da302cc4966 |
children | 8fa4ab3dcc88 |
line wrap: on
line diff
--- a/dmd/expression.h Wed Jan 06 15:18:21 2010 -0300 +++ b/dmd/expression.h Wed Jan 06 15:18:21 2010 -0300 @@ -123,6 +123,7 @@ virtual MATCH implicitConvTo(Type *t); virtual Expression *castTo(Scope *sc, Type *t); virtual void checkEscape(); + virtual void checkEscapeRef(); void checkScalar(); void checkNoBool(); Expression *checkIntegral(); @@ -678,6 +679,8 @@ char *toChars(); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); void checkEscape(); + void checkEscapeRef(); + int isLvalue(); Expression *toLvalue(Scope *sc, Expression *e); Expression *modifiableLvalue(Scope *sc, Expression *e); #if IN_DMD @@ -1051,6 +1054,7 @@ AddrExp(Loc loc, Expression *e); Expression *semantic(Scope *sc); + void checkEscape(); #if IN_DMD elem *toElem(IRState *irs); #endif @@ -1069,6 +1073,7 @@ PtrExp(Loc loc, Expression *e); PtrExp(Loc loc, Expression *e, Type *t); Expression *semantic(Scope *sc); + void checkEscapeRef(); Expression *toLvalue(Scope *sc, Expression *e); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); #if IN_DMD @@ -1221,6 +1226,7 @@ Expression *syntaxCopy(); Expression *semantic(Scope *sc); void checkEscape(); + void checkEscapeRef(); Expression *toLvalue(Scope *sc, Expression *e); Expression *modifiableLvalue(Scope *sc, Expression *e); void toCBuffer(OutBuffer *buf, HdrGenState *hgs); @@ -1294,6 +1300,7 @@ CommaExp(Loc loc, Expression *e1, Expression *e2); Expression *semantic(Scope *sc); void checkEscape(); + void checkEscapeRef(); Expression *toLvalue(Scope *sc, Expression *e); Expression *modifiableLvalue(Scope *sc, Expression *e); int isBool(int result); @@ -1828,6 +1835,7 @@ Expression *optimize(int result); Expression *interpret(InterState *istate); void checkEscape(); + void checkEscapeRef(); Expression *toLvalue(Scope *sc, Expression *e); Expression *modifiableLvalue(Scope *sc, Expression *e); Expression *checkToBoolean();