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