comparison dmd/mtype.h @ 1364:46f6365a50d7

Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P Added -v-cg switch, which right now just prints "codegen: module.name (module/name.d)" to stdout, this can really help figuring out where, in some complex build command, things go wrong.
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Sat, 16 May 2009 18:19:52 +0200
parents 465a77c904d4
children 8026319762be
comparison
equal deleted inserted replaced
1363:b7c8506e1eed 1364:46f6365a50d7
20 20
21 #include "arraytypes.h" 21 #include "arraytypes.h"
22 #include "expression.h" 22 #include "expression.h"
23 23
24 #if IN_LLVM 24 #if IN_LLVM
25 // llvm
26 #include "../ir/irdtype.h"
27 #include "../ir/irfuncty.h" 25 #include "../ir/irfuncty.h"
28 namespace llvm { class Type; } 26 namespace llvm { class Type; }
29 struct Ir; 27 class Ir;
30
31 class IrType; 28 class IrType;
32 #endif 29 #endif
33 30
34 struct Scope; 31 struct Scope;
35 struct Identifier; 32 struct Identifier;
282 279
283 // For eliminating dynamic_cast 280 // For eliminating dynamic_cast
284 virtual TypeBasic *isTypeBasic(); 281 virtual TypeBasic *isTypeBasic();
285 282
286 #if IN_LLVM 283 #if IN_LLVM
287 // LDC
288 IrDType ir;
289 static Ir* sir; 284 static Ir* sir;
290
291 IrType* irtype; 285 IrType* irtype;
292 #endif 286 #endif
293 }; 287 };
294 288
295 struct TypeBasic : Type 289 struct TypeBasic : Type