Mercurial > projects > ldc
comparison gen/irstate.h @ 6:35d93ce68cf4 trunk
[svn r10] Updated for LLVM rev. 20070913
Applied fixes from wilsonk on the forum
Some tweaks to work with gc 7.0
Fixed aggregate members of aggregates
Fixed cyclic/recursive class declarations
Other minor tweaks
author | lindquist |
---|---|
date | Wed, 26 Sep 2007 19:05:18 +0200 |
parents | c53b6e3fe49a |
children | 37a4fdab33fc |
comparison
equal
deleted
inserted
replaced
5:3d60e549b0c2 | 6:35d93ce68cf4 |
---|---|
34 | 34 |
35 IRScope(); | 35 IRScope(); |
36 IRScope(llvm::BasicBlock* b, llvm::BasicBlock* e); | 36 IRScope(llvm::BasicBlock* b, llvm::BasicBlock* e); |
37 }; | 37 }; |
38 | 38 |
39 // represents a struct | 39 // represents a struct or class |
40 struct IRStruct : Object | 40 struct IRStruct : Object |
41 { | 41 { |
42 typedef std::vector<const llvm::Type*> TypeVector; | 42 typedef std::vector<const llvm::Type*> TypeVector; |
43 typedef std::vector<llvm::Constant*> ConstantVector; | 43 typedef std::vector<llvm::Constant*> ConstantVector; |
44 typedef std::vector<llvm::PATypeHolder> PATypeHolderVector; | 44 typedef std::vector<llvm::PATypeHolder> PATypeHolderVector; |
45 | 45 |
46 public: | 46 public: |
47 IRStruct(); | 47 IRStruct(); |
48 IRStruct(TypeStruct*); | 48 IRStruct(Type*); |
49 virtual ~IRStruct(); | 49 virtual ~IRStruct(); |
50 | 50 |
51 TypeStruct* type; | 51 Type* type; |
52 TypeVector fields; | 52 TypeVector fields; |
53 ConstantVector inits; | 53 ConstantVector inits; |
54 llvm::PATypeHolder recty; | 54 llvm::PATypeHolder recty; |
55 }; | |
56 | |
57 // represents a clas | |
58 struct IRClass : Object | |
59 { | |
60 // TODO | |
61 }; | 55 }; |
62 | 56 |
63 // represents the module | 57 // represents the module |
64 struct IRState : Object | 58 struct IRState : Object |
65 { | 59 { |