Mercurial > projects > ldc
comparison dmd/mars.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 | a8cb25d478c4 |
children | f0b6549055ab |
comparison
equal
deleted
inserted
replaced
987:73ff89728d85 | 988:2667e3a145be |
---|---|
142 char *deffile; | 142 char *deffile; |
143 char *resfile; | 143 char *resfile; |
144 char *exefile; | 144 char *exefile; |
145 | 145 |
146 // LDC stuff | 146 // LDC stuff |
147 const char *llvmArch; | |
148 OUTPUTFLAG output_ll; | 147 OUTPUTFLAG output_ll; |
149 OUTPUTFLAG output_bc; | 148 OUTPUTFLAG output_bc; |
150 OUTPUTFLAG output_s; | 149 OUTPUTFLAG output_s; |
151 OUTPUTFLAG output_o; | 150 OUTPUTFLAG output_o; |
152 bool llvmInline; | 151 bool llvmInline; |
153 bool llvmAnnotate; | 152 bool llvmAnnotate; |
154 bool useInlineAsm; | 153 bool useInlineAsm; |
155 | 154 |
156 // target stuff | 155 // target stuff |
157 char *targetTriple; | 156 const char* llvmArch; |
158 char *dataLayout; | 157 const char *targetTriple; |
158 const char *dataLayout; | |
159 }; | 159 }; |
160 | 160 |
161 struct Global | 161 struct Global |
162 { | 162 { |
163 char *mars_ext; | 163 char *mars_ext; |
339 | 339 |
340 void error(Loc loc, const char *format, ...); | 340 void error(Loc loc, const char *format, ...); |
341 void verror(Loc loc, const char *format, va_list); | 341 void verror(Loc loc, const char *format, va_list); |
342 void fatal(); | 342 void fatal(); |
343 void err_nomem(); | 343 void err_nomem(); |
344 void inifile(char *argv0, char *inifile); | 344 void inifile(char *argv0, const char *inifile); |
345 void halt(); | 345 void halt(); |
346 | 346 |
347 /*** Where to send error messages ***/ | 347 /*** Where to send error messages ***/ |
348 #if IN_GCC || IN_LLVM | 348 #if IN_GCC || IN_LLVM |
349 #define stdmsg stderr | 349 #define stdmsg stderr |