[llvm-commits] [cfe-dev] [PATCH] Windows improvements
NAKAMURA Takumi
geek4civic at gmail.com
Mon Feb 28 04:14:45 PST 2011
Good evening, Erik,
On Mon, Feb 28, 2011 at 7:44 PM, Erik Olofsson <Erik.Olofsson at hansoft.se> wrote:
> From HandleLLVMOptions.cmake
> if(CYGWIN)
> set(LLVM_ON_WIN32 0)
> set(LLVM_ON_UNIX 1)
> else(CYGWIN)
> set(LLVM_ON_WIN32 1)
> set(LLVM_ON_UNIX 0)
> endif(CYGWIN)
>
> 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:
> if(MSVC)
> set(LLVM_ON_WIN32MSVC 1)
> endif(MSVC)
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
with _WIN32.
>> 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
>> style.
>> 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
...Takumi
More information about the llvm-commits
mailing list