Mercurial > projects > ldc
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 |