Mercurial > projects > ldc
diff dmd2/mtype.h @ 847:356e65836fb5
Merged DMD 2.021 frontend.
Removed generated files from dmd/dmd2 dirs.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sat, 13 Dec 2008 16:14:37 +0100 |
parents | 340acf1535d0 |
children | 5fa3e0ea06e9 |
line wrap: on
line diff
--- a/dmd2/mtype.h Sat Dec 13 13:15:31 2008 +0100 +++ b/dmd2/mtype.h Sat Dec 13 16:14:37 2008 +0100 @@ -40,6 +40,7 @@ struct TypeBasic; struct HdrGenState; +struct Argument; // Back end #if IN_GCC @@ -227,9 +228,10 @@ virtual int isAssignable(); virtual int checkBoolean(); // if can be converted to boolean value virtual void checkDeprecated(Loc loc, Scope *sc); - int isConst() { return mod == MODconst; } - int isInvariant() { return mod == MODinvariant; } - int isMutable() { return mod == 0; } + int isConst() { return mod & MODconst; } + int isInvariant() { return mod & MODinvariant; } + int isMutable() { return !(mod & (MODconst | MODinvariant)); } + int isShared() { return mod & MODshared; } Type *constOf(); Type *invariantOf(); Type *mutableOf(); @@ -490,6 +492,7 @@ #if TARGET_LINUX void toCppMangle(OutBuffer *buf, CppMangleState *cms); #endif + bool parameterEscapes(Argument *p); int callMatch(Expression *ethis, Expressions *toargs); type *toCtype();