comparison 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
comparison
equal deleted inserted replaced
846:bc982f1ad106 847:356e65836fb5
38 struct CppMangleState; 38 struct CppMangleState;
39 enum LINK; 39 enum LINK;
40 40
41 struct TypeBasic; 41 struct TypeBasic;
42 struct HdrGenState; 42 struct HdrGenState;
43 struct Argument;
43 44
44 // Back end 45 // Back end
45 #if IN_GCC 46 #if IN_GCC
46 union tree_node; typedef union tree_node TYPE; 47 union tree_node; typedef union tree_node TYPE;
47 typedef TYPE type; 48 typedef TYPE type;
225 virtual int isauto(); 226 virtual int isauto();
226 virtual int isString(); 227 virtual int isString();
227 virtual int isAssignable(); 228 virtual int isAssignable();
228 virtual int checkBoolean(); // if can be converted to boolean value 229 virtual int checkBoolean(); // if can be converted to boolean value
229 virtual void checkDeprecated(Loc loc, Scope *sc); 230 virtual void checkDeprecated(Loc loc, Scope *sc);
230 int isConst() { return mod == MODconst; } 231 int isConst() { return mod & MODconst; }
231 int isInvariant() { return mod == MODinvariant; } 232 int isInvariant() { return mod & MODinvariant; }
232 int isMutable() { return mod == 0; } 233 int isMutable() { return !(mod & (MODconst | MODinvariant)); }
234 int isShared() { return mod & MODshared; }
233 Type *constOf(); 235 Type *constOf();
234 Type *invariantOf(); 236 Type *invariantOf();
235 Type *mutableOf(); 237 Type *mutableOf();
236 Type *pointerTo(); 238 Type *pointerTo();
237 Type *referenceTo(); 239 Type *referenceTo();
488 TypeInfoDeclaration *getTypeInfoDeclaration(); 490 TypeInfoDeclaration *getTypeInfoDeclaration();
489 Type *reliesOnTident(); 491 Type *reliesOnTident();
490 #if TARGET_LINUX 492 #if TARGET_LINUX
491 void toCppMangle(OutBuffer *buf, CppMangleState *cms); 493 void toCppMangle(OutBuffer *buf, CppMangleState *cms);
492 #endif 494 #endif
495 bool parameterEscapes(Argument *p);
493 496
494 int callMatch(Expression *ethis, Expressions *toargs); 497 int callMatch(Expression *ethis, Expressions *toargs);
495 type *toCtype(); 498 type *toCtype();
496 enum RET retStyle(); 499 enum RET retStyle();
497 500