Mercurial > projects > ldc
diff dmd/mtype.h @ 1103:b30fe7e1dbb9
- Updated to DMD frontend 1.041.
- Removed dmd/inifile.c , it's not under a free license, replaced with libconfig based config file.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Thu, 12 Mar 2009 20:37:27 +0100 |
parents | dc608dc33081 |
children | 1860414bf3b7 |
line wrap: on
line diff
--- a/dmd/mtype.h Thu Mar 12 14:08:57 2009 +0100 +++ b/dmd/mtype.h Thu Mar 12 20:37:27 2009 +0100 @@ -37,10 +37,12 @@ struct TypeInfoDeclaration; struct Dsymbol; struct TemplateInstance; +struct CppMangleState; enum LINK; struct TypeBasic; struct HdrGenState; +struct Argument; // Back end #if IN_GCC @@ -99,7 +101,7 @@ Ttypeof, Ttuple, Tslice, - + Treturn, TMAX }; @@ -108,13 +110,16 @@ extern int Tsize_t; extern int Tptrdiff_t; + struct Type : Object { TY ty; - unsigned char mod; // modifiers (MODconst, MODinvariant) + unsigned char mod; // modifiers MODxxxx + /* pick this order of numbers so switch statements work better + */ #define MODconst 1 // type is const - #define MODinvariant 2 // type is invariant - Type *next; + #define MODinvariant 4 // type is invariant + #define MODshared 2 // type is shared char *deco; Type *pto; // merged pointer to this type Type *rto; // reference to this type @@ -242,9 +247,11 @@ virtual Type *reliesOnTident(); virtual Expression *toExpression(); virtual int hasPointers(); + Type *next; Type *nextOf() { return next; } static void error(Loc loc, const char *format, ...); + static void warning(Loc loc, const char *format, ...); // For backend virtual unsigned totym();