Mercurial > projects > ldc
diff dmd2/module.c @ 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 | 356e65836fb5 |
children | 638d16625da2 |
line wrap: on
line diff
--- a/dmd2/module.c Wed Feb 25 19:30:06 2009 +0100 +++ b/dmd2/module.c Thu Feb 26 14:11:49 2009 +0100 @@ -40,6 +40,19 @@ #include "d-dmd-gcc.h" #endif + +#include "llvm/Support/CommandLine.h" + +static llvm::cl::opt<bool> preservePaths("op", + llvm::cl::desc("Do not strip paths from source file"), + llvm::cl::ZeroOrMore); + +static llvm::cl::opt<bool> fqnNames("oq", + llvm::cl::desc("Write object files with fully qualified names"), + llvm::cl::ZeroOrMore); + + + ClassDeclaration *Module::moduleinfo; Module *Module::rootModule; @@ -139,12 +152,12 @@ argobj = forcename; else { - if (global.params.preservePaths) + if (preservePaths) argobj = (char*)this->arg; else argobj = FileName::name((char*)this->arg); - if (global.params.fqnNames) + if (fqnNames) { if(md) argobj = FileName::replaceName(argobj, md->toChars());