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