Mercurial > projects > ldc
comparison dmd/mars.h @ 534:7e2867ed70d9
Get rid of isLinux and isWindows in favor of global.params.os.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 24 Aug 2008 16:22:58 +0200 |
parents | cc40db549aea |
children | b0005772a88e |
comparison
equal
deleted
inserted
replaced
532:0beebf923322 | 534:7e2867ed70d9 |
---|---|
35 #define DMDV2 0 // Version 2.0 features | 35 #define DMDV2 0 // Version 2.0 features |
36 #define BREAKABI 1 // 0 if not ready to break the ABI just yet | 36 #define BREAKABI 1 // 0 if not ready to break the ABI just yet |
37 | 37 |
38 struct Array; | 38 struct Array; |
39 | 39 |
40 // LLVMDC | |
41 enum ARCH | |
42 { | |
43 ARCHx86, | |
44 ARCHx86_64, | |
45 ARCHppc, | |
46 ARCHppc_64 | |
47 }; | |
48 | |
49 enum OS | |
50 { | |
51 OSLinux, | |
52 OSWindows, | |
53 OSMacOSX | |
54 }; | |
55 | |
40 // Put command line switches in here | 56 // Put command line switches in here |
41 struct Param | 57 struct Param |
42 { | 58 { |
43 char obj; // write object file | 59 char obj; // write object file |
44 char link; // perform link | 60 char link; // perform link |
46 char quiet; // suppress non-error messages | 62 char quiet; // suppress non-error messages |
47 char verbose; // verbose compile | 63 char verbose; // verbose compile |
48 char symdebug; // insert debug symbolic information | 64 char symdebug; // insert debug symbolic information |
49 char optimize; // run optimizer | 65 char optimize; // run optimizer |
50 char optimizeLevel; // optimization level | 66 char optimizeLevel; // optimization level |
51 char cpu; // target CPU | 67 ARCH cpu; // target CPU |
68 OS os; // target OS | |
52 char is64bit; // generate 64 bit code | 69 char is64bit; // generate 64 bit code |
53 char isLE; // generate little endian code | 70 char isLE; // generate little endian code |
54 char isLinux; // generate code for linux | |
55 char isWindows; // generate code for Windows | |
56 char scheduler; // which scheduler to use | 71 char scheduler; // which scheduler to use |
57 char useDeprecated; // allow use of deprecated features | 72 char useDeprecated; // allow use of deprecated features |
58 char useAssert; // generate runtime code for assert()'s | 73 char useAssert; // generate runtime code for assert()'s |
59 char useInvariants; // generate class invariant checks | 74 char useInvariants; // generate class invariant checks |
60 char useIn; // generate precondition checks | 75 char useIn; // generate precondition checks |
303 MATCHconst, // match with conversion to const | 318 MATCHconst, // match with conversion to const |
304 #endif | 319 #endif |
305 MATCHexact // exact match | 320 MATCHexact // exact match |
306 }; | 321 }; |
307 | 322 |
308 // LLVMDC | |
309 enum ARCH | |
310 { | |
311 ARCHx86, | |
312 ARCHx86_64, | |
313 ARCHppc, | |
314 ARCHppc_64 | |
315 }; | |
316 | |
317 void error(Loc loc, const char *format, ...); | 323 void error(Loc loc, const char *format, ...); |
318 void verror(Loc loc, const char *format, va_list); | 324 void verror(Loc loc, const char *format, va_list); |
319 void fatal(); | 325 void fatal(); |
320 void err_nomem(); | 326 void err_nomem(); |
321 void inifile(char *argv0, char *inifile); | 327 void inifile(char *argv0, char *inifile); |