[cfe-commits] [cfe-dev] [PATCH] Windows improvements
geek4civic at gmail.com
Mon Feb 28 06:14:45 CST 2011
Good evening, Erik,
On Mon, Feb 28, 2011 at 7:44 PM, Erik Olofsson <Erik.Olofsson at hansoft.se> wrote:
> From HandleLLVMOptions.cmake
> set(LLVM_ON_WIN32 0)
> set(LLVM_ON_UNIX 1)
> set(LLVM_ON_WIN32 1)
> set(LLVM_ON_UNIX 0)
> This can filter out Cygwin with (defined(LLVM_ON_WIN32) && !defined(LLVM_ON_UNIX)), but I guess mingw would have to be filtered out in another way.
I assume Cygwin could be treated as unix-variant in common context.
(Cygwin gcc does not define _WIN32 by default)
In contrast, mingw should be treated as "Win32 development environment".
Mingw provides MSVCRT.DLL-compatible standard headers and w32api.
Of course, I know we have to distinguish msc and mingw in some cases.
> If there is no existing way I could add:
> set(LLVM_ON_WIN32MSVC 1)
In C/C++ sources, we may detect MSVC with _MSC_VER, I suppose.
IMO I don't need to introduce LLVM_ON_WIN32MSVC.
Rather, I think LLVM_ON_**** could be deprecated. It should be enough
>> Please split clang's patch by functionality.
> Ok, so split into three patches?
> * refactor llvm::outs()/errs()
> * cc1 invocation without a new process
> * output diagnostics as debug string
Sure. And "cosmetic changes (eg. reindentation, 80-col wrap, untabify
&c)" might be split out, please.
>> "/MP" works better for me functionally, though, it would be dubious for
>> Oscar, do you have any opinions?
>> FYI, I am using /m with msbuild.exe.
> 'msbuild /m' and 'cl /MP' works well together giving the most amount of parallelism with both projects and individual translation units being compiled in parallel.
Good to hear. :D
More information about the cfe-commits