Mercurial > projects > ldc
comparison gen/irstate.h @ 988:2667e3a145be
- Fixed LLVM style CL args for D2.
- Moved main() into its own file gen/main.cpp
- Fixed basic cross compilation
- removed the option for setting OS
- added support for llc's mattr, mcpu and mtriple switches
- added basic ABI abstraction for return value rewrites, it's not perfect and will probably be completely rewritten once I get to handling parameter rewrites as well.
- x86-64 extern(C) abi for cfloat returns now match (llvm-)gcc.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Thu, 26 Feb 2009 14:11:49 +0100 |
parents | 985104c0f1db |
children | 8c73ff5f69e0 |
comparison
equal
deleted
inserted
replaced
987:73ff89728d85 | 988:2667e3a145be |
---|---|
11 | 11 |
12 #include "ir/irfunction.h" | 12 #include "ir/irfunction.h" |
13 #include "ir/irstruct.h" | 13 #include "ir/irstruct.h" |
14 #include "ir/irvar.h" | 14 #include "ir/irvar.h" |
15 | 15 |
16 namespace llvm { | |
17 class TargetMachine; | |
18 } | |
19 | |
16 // global ir state for current module | 20 // global ir state for current module |
17 struct IRState; | 21 struct IRState; |
22 struct TargetABI; | |
23 | |
18 extern IRState* gIR; | 24 extern IRState* gIR; |
25 extern llvm::TargetMachine* gTargetMachine; | |
19 extern const llvm::TargetData* gTargetData; | 26 extern const llvm::TargetData* gTargetData; |
27 extern TargetABI* gABI; | |
20 | 28 |
21 struct TypeFunction; | 29 struct TypeFunction; |
22 struct TypeStruct; | 30 struct TypeStruct; |
23 struct ClassDeclaration; | 31 struct ClassDeclaration; |
24 struct FuncDeclaration; | 32 struct FuncDeclaration; |