[cfe-dev] [lldb-dev] [LLVMdev] [RFC] Raising LLVM minimum required MSVC version to 2013 for trunk

Chris Bieneman beanz at apple.com
Mon Feb 16 10:22:53 PST 2015


+ Chandler

Ok… What’s going on here?

I see Takumi re-landed the patches, but there have been a lot of changes that came in yesterday that go against the plan for rolling this out.

The original plan (as proposed by Chandler) was to wait a week after landing the CMake change before updating the documentation and allowing new C++11 features. This gives adequate time for people who may have missed this thread to adjust.

We now have uses of new C++11 features that aren’t supported by VS2012 littered around, which makes backing this change out far less trivial.

What is the plan now?

-Chris

> On Feb 16, 2015, at 8:27 AM, Benjamin Kramer <benny.kra at gmail.com> wrote:
> 
>> 
>> On 16.02.2015, at 17:02, Chris Bieneman <beanz at apple.com <mailto:beanz at apple.com>> wrote:
>> 
>> Takumi,
>> 
>> Can you please provide an update? We've been working on this change for months, if there are blocking issues we need to know what they are.
> 
> In case you didn't see it, the patch was relanded yesterday and Takumi's bots are updated. I also updated the docs yesterday and a ton of cruft that accumulated to support MSVC 2012 was removed, there's no going back now ;)
> 
> What's left is updating our CodingStandards to properly reflect the supported C++11 features, as we've seen with the template aliases Microsoft's docs can't be trusted without manual verification. There are also some MSVC 2012 bots left on lab.llvm.org <http://lab.llvm.org/> that fail at the cmake stage now, 'lldb-x86-windows-msvc' and 'lld-x86_64-win7'. Not sure what to do about them
> 
> - Ben
> 
>>> On Feb 13, 2015, at 4:40 PM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
>>> 
>>> Please wait. I'll revert it for now. I'll reland it when I am ready.
>>> 
>>> 2015-02-14 8:27 GMT+09:00 Chris Bieneman <beanz at apple.com>:
>>>> I have moved onto the next phase and committed r229185, which makes VS2013 our minimum version. I will revert if issues arise, and we can rinse and repeat as necessary.
>>>> 
>>>> Once it sticks for a bit I’ll update the docs too.
>>>> 
>>>> -Chris
>>>> 
>>>>> On Feb 9, 2015, at 10:07 AM, Chris Bieneman <beanz at apple.com> wrote:
>>>>> 
>>>>> I agree with Aaron, this should not be a blocker because the workaround is simple. I'm also not opposed to raising the minimum CMake version all the way to 3.0. CMake 3 is 6 months old and CMake 3.1 is already out.
>>>>> 
>>>>> I think most (if not all) our internal users are on 3.0 now, and those that may not be are either on old branches of LLVM or have no excuse not to update. I can start a separate thread with that proposal.
>>>>> 
>>>>> -Chris
>>>>> 
>>>>> Sent from my iPad
>>>>> 
>>>>>>> On Feb 9, 2015, at 7:44 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
>>>>>>> 
>>>>>>> On Mon, Feb 9, 2015 at 8:36 AM, Greg Bedwell <gregbedwell at gmail.com> wrote:
>>>>>>> We've just encountered an issue with ninja and VS2013 when using versions of
>>>>>>> CMake prior to 2.8.12.1.  This isn't a combination that we typically use so
>>>>>>> we've not run into it previously in our own builds.  It isn't specifically
>>>>>>> tied to upgrading the minimum version as it's a problem that already exists
>>>>>>> but I figure we'll hit it sooner or later on one of the bots as people start
>>>>>>> to use 2013 so best to deal with it sooner.  Essentially, when building any
>>>>>>> configuration through ninja with debug data enabled with anything more than
>>>>>>> -j1 we'll hit an error like:
>>>>>>> 
>>>>>>> C:\work\public_svn\llvm\lib\Support\APInt.cpp : fatal error C1041: cannot
>>>>>>> open program database
>>>>>>> 'c:\work\public_svn\build-vs2013-native-ninja\lib\llvmsupport.pdb'; if
>>>>>>> multiple CL.EXE write to the same .PDB file, please use /FS
>>>>>>> 
>>>>>>> Here's the relevant CMake tracker which shows the fix going into 2.8.12.1:
>>>>>>> http://www.cmake.org/Bug/view.php?id=14492
>>>>>>> 
>>>>>>> I think our options are to either require CMake 2.8.12.1 for VS2013/ninja
>>>>>>> builds (but I don't know how feasible this is) or we can put our own
>>>>>>> workaround into our CMakelists to push the /FS switch when using Ninja and
>>>>>>> Visual Studio, unless someone has any better ideas?
>>>>>>> 
>>>>>>> Any thoughts?  Is this a blocker for updating the minimum version?
>>>>>> 
>>>>>> I'm not certain I see it as a blocker since upgrading CMake should not
>>>>>> be too difficult (2.8.12.1 was released in Nov 2013). Whether we want
>>>>>> to require 2.8.12.1 is a different ball of wax, but for just the Ninja
>>>>>> + MSVC build, I don't think that's too onerous (then again, I don't
>>>>>> use Ninja for my builds, either).
>>>>>> 
>>>>>> ~Aaron
>>>>> 
>>>>> _______________________________________________
>>>>> LLVM Developers mailing list
>>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>> 
>>>> 
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> lldb-dev at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu <mailto:lldb-dev at cs.uiuc.edu>
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev <http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150216/af0c5d26/attachment.html>


More information about the cfe-dev mailing list