Chris Lattner
2013-Jan-09 19:54 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Jan 8, 2013, at 8:09 PM, Peter Newman <peter at uformia.com> wrote:>>> One other specific problem with this is that (I'm told) MSVC 2010 doesn't support range-based for loops. I don't think it is reasonable to require windows users to be on MSVC 2012. :-( >> I suspect you're right about that, but I'd appreciate if some MSVC >> users would speak up here. We shouldn't hold back on using range-based >> for loops if all our MSVC users are happy to move to MSVC 2012 >> (assuming no problems with other platforms). >> > For our works project, we are still stuck on MSVC 2005 and MSVC 2010 > (our software is a binary plugin to established products). Admittedly, > we are still sitting on LLVM 2.8 with patches from 2.9 (2.9 wouldn't > compile in MSVC 2010 for x64) . We want to move to current LLVM (not > least for the NVPTX and AMDIL targets), but have not yet had the > available man hours to do so.Ok. Unfortunately, I don't think it makes sense for the general community to bend over backwards to support VC2005 anymore. We're talking about LLVM 3.3 here (at the earliest), is there a strong reason you couldn't move to VC2010 by whenever you move up to LLVM 3.3? -Chris
Michael Spencer
2013-Jan-09 21:04 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Wed, Jan 9, 2013 at 11:54 AM, Chris Lattner <clattner at apple.com> wrote:> On Jan 8, 2013, at 8:09 PM, Peter Newman <peter at uformia.com> wrote: >>>> One other specific problem with this is that (I'm told) MSVC 2010 doesn't support range-based for loops. I don't think it is reasonable to require windows users to be on MSVC 2012. :-( >>> I suspect you're right about that, but I'd appreciate if some MSVC >>> users would speak up here. We shouldn't hold back on using range-based >>> for loops if all our MSVC users are happy to move to MSVC 2012 >>> (assuming no problems with other platforms). >>> >> For our works project, we are still stuck on MSVC 2005 and MSVC 2010 >> (our software is a binary plugin to established products). Admittedly, >> we are still sitting on LLVM 2.8 with patches from 2.9 (2.9 wouldn't >> compile in MSVC 2010 for x64) . We want to move to current LLVM (not >> least for the NVPTX and AMDIL targets), but have not yet had the >> available man hours to do so. > > Ok. Unfortunately, I don't think it makes sense for the general community to bend over backwards to support VC2005 anymore. We're talking about LLVM 3.3 here (at the earliest), is there a strong reason you couldn't move to VC2010 by whenever you move up to LLVM 3.3? > > -ChrisLLVM has not been compatible with VS2005 for a long time. And as a note to why you can be held back by external software on VS. MSVC changes the C++ ABI with every release. If you have a 3rd party product with no source access, or you need to dynamically link with a specific version of that software, you must use the same VS version if you use C++ in the ABI. - Michael Spencer
Peter Newman
2013-Jan-10 01:55 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
>> Ok. Unfortunately, I don't think it makes sense for the general community to bend over backwards to support VC2005 anymore. We're talking about LLVM 3.3 here (at the earliest), is there a strong reason you couldn't move to VC2010 by whenever you move up to LLVM 3.3? >> >> -Chris > LLVM has not been compatible with VS2005 for a long time. > > And as a note to why you can be held back by external software on VS. > MSVC changes the C++ ABI with every release. If you have a 3rd party > product with no source access, or you need to dynamically link with a > specific version of that software, you must use the same VS version if > you use C++ in the ABI. > > - Michael SpencerOh I certainly don't expect anyone to keep supporting the ancient VS 2005 compiler. I'm just providing feedback on our usage, as asked. I personally would think that VS2010 was reasonable to support for future development though. Due to the C++ ABI changes (particularly their runtime and memory management), as long as people want to binary integrate with existing software, they can't upgrade their compiler as they'd like. Peter N
Possibly Parallel Threads
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself