Mercurial > projects > ldc
diff dmd/mtype.h @ 1367:8026319762be
Merged DMD 1.045 !!!
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 22:21:31 +0200 |
parents | 46f6365a50d7 |
children | 229e02867307 |
line wrap: on
line diff
--- a/dmd/mtype.h Sat May 16 18:37:16 2009 +0200 +++ b/dmd/mtype.h Sat May 16 22:21:31 2009 +0200 @@ -222,6 +222,7 @@ // append the mangleof or a string uniquely identifying this type to buf virtual void toDecoBuffer(OutBuffer *buf, bool mangle); Type *merge(); + Type *merge2(); virtual void toCBuffer(OutBuffer *buf, Identifier *ident, HdrGenState *hgs); virtual void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod); void toCBuffer3(OutBuffer *buf, HdrGenState *hgs, int mod); @@ -249,7 +250,7 @@ virtual Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); virtual unsigned memalign(unsigned salign); virtual Expression *defaultInit(Loc loc = 0); - virtual int isZeroInit(); // if initializer is 0 + virtual int isZeroInit(Loc loc = 0); // if initializer is 0 #if IN_DMD virtual dt_t **toDt(dt_t **pdt); #endif @@ -310,7 +311,7 @@ int isunsigned(); MATCH implicitConvTo(Type *to); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); int builtinTypeInfo(); // For eliminating dynamic_cast @@ -338,7 +339,7 @@ void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); int isString(); - int isZeroInit(); + int isZeroInit(Loc loc); unsigned memalign(unsigned salign); MATCH implicitConvTo(Type *to); Expression *defaultInit(Loc loc); @@ -369,7 +370,7 @@ void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); int isString(); - int isZeroInit(); + int isZeroInit(Loc loc); int checkBoolean(); MATCH implicitConvTo(Type *to); Expression *defaultInit(Loc loc); @@ -397,7 +398,7 @@ Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); Expression *defaultInit(Loc loc); MATCH deduceType(Scope *sc, Type *tparam, TemplateParameters *parameters, Objects *dedtypes); - int isZeroInit(); + int isZeroInit(Loc loc); int checkBoolean(); TypeInfoDeclaration *getTypeInfoDeclaration(); int hasPointers(); @@ -422,7 +423,7 @@ // LDC: pointers are unsigned int isunsigned() { return TRUE; }; Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); TypeInfoDeclaration *getTypeInfoDeclaration(); int hasPointers(); @@ -439,7 +440,7 @@ void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); }; enum RET @@ -493,7 +494,7 @@ unsigned alignsize(); // added in LDC void toCBuffer2(OutBuffer *buf, HdrGenState *hgs, int mod); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); int checkBoolean(); TypeInfoDeclaration *getTypeInfoDeclaration(); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); @@ -580,7 +581,7 @@ Expression *dotExp(Scope *sc, Expression *e, Identifier *ident); unsigned memalign(unsigned salign); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); int checkBoolean(); #if IN_DMD dt_t **toDt(dt_t **pdt); @@ -621,7 +622,7 @@ MATCH implicitConvTo(Type *to); Type *toBasetype(); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); MATCH deduceType(Scope *sc, Type *tparam, TemplateParameters *parameters, Objects *dedtypes); TypeInfoDeclaration *getTypeInfoDeclaration(); int hasPointers(); @@ -658,7 +659,7 @@ Type *toBasetype(); MATCH implicitConvTo(Type *to); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); #if IN_DMD dt_t **toDt(dt_t **pdt); #endif @@ -689,12 +690,20 @@ int isBaseOf(Type *t, int *poffset); MATCH implicitConvTo(Type *to); Expression *defaultInit(Loc loc); - int isZeroInit(); + int isZeroInit(Loc loc); MATCH deduceType(Scope *sc, Type *tparam, TemplateParameters *parameters, Objects *dedtypes); int isauto(); int checkBoolean(); TypeInfoDeclaration *getTypeInfoDeclaration(); int hasPointers(); + int builtinTypeInfo(); +#if DMDV2 + Type *toHeadMutable(); + MATCH constConv(Type *to); +#if TARGET_LINUX || TARGET_OSX + void toCppMangle(OutBuffer *buf, CppMangleState *cms); +#endif +#endif #if IN_DMD type *toCtype();