Mercurial > projects > ldc
comparison dmd/mtype.h @ 157:5c17f81fc1c1 trunk
[svn r173] moved IR state previously stored in Type into IrType and a Type->IrType map; fixes #7
author | ChristianK |
---|---|
date | Thu, 01 May 2008 13:32:08 +0200 |
parents | 0ab29b838084 |
children | 5acec6b2eef8 |
comparison
equal
deleted
inserted
replaced
156:ccd07d9f2ce9 | 157:5c17f81fc1c1 |
---|---|
18 #include "root.h" | 18 #include "root.h" |
19 #include "stringtable.h" | 19 #include "stringtable.h" |
20 | 20 |
21 #include "arraytypes.h" | 21 #include "arraytypes.h" |
22 #include "expression.h" | 22 #include "expression.h" |
23 | |
24 // LLVMDC | |
25 namespace llvm | |
26 { | |
27 class Value; | |
28 class Instruction; | |
29 class Type; | |
30 class PATypeHolder; | |
31 class GlobalVariable; | |
32 } | |
33 | 23 |
34 struct Scope; | 24 struct Scope; |
35 struct Identifier; | 25 struct Identifier; |
36 struct Expression; | 26 struct Expression; |
37 struct StructDeclaration; | 27 struct StructDeclaration; |
251 virtual unsigned totym(); | 241 virtual unsigned totym(); |
252 virtual type *toCtype(); | 242 virtual type *toCtype(); |
253 virtual type *toCParamtype(); | 243 virtual type *toCParamtype(); |
254 virtual Symbol *toSymbol(); | 244 virtual Symbol *toSymbol(); |
255 | 245 |
256 llvm::PATypeHolder* llvmType; | |
257 | |
258 // For eliminating dynamic_cast | 246 // For eliminating dynamic_cast |
259 virtual TypeBasic *isTypeBasic(); | 247 virtual TypeBasic *isTypeBasic(); |
260 }; | 248 }; |
261 | 249 |
262 struct TypeBasic : Type | 250 struct TypeBasic : Type |
635 int hasPointers(); | 623 int hasPointers(); |
636 | 624 |
637 type *toCtype(); | 625 type *toCtype(); |
638 | 626 |
639 Symbol *toSymbol(); | 627 Symbol *toSymbol(); |
640 | |
641 llvm::PATypeHolder* llvmVtblType; | |
642 }; | 628 }; |
643 | 629 |
644 struct TypeTuple : Type | 630 struct TypeTuple : Type |
645 { | 631 { |
646 Arguments *arguments; // types making up the tuple | 632 Arguments *arguments; // types making up the tuple |