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();