Keep in mind that llvm bumps minimum vs version roughly once a year, and it's probably about that time.  So the discussion here is just about whether to do it earlier than llvm, not whether to do it all.<br><br> So whether it's now or a few months from now, at some point you're going to have to handle these incompatibilities in your own fork out of tree<br><div class="gmail_quote"><div dir="ltr">On Tue, Mar 29, 2016 at 9:11 AM Aidan Dodds via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org">lldb-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">At Codeplay we are currently building on windows using a split of MSVC<br>
2013 and MSVC 2015.<br>
In theory we are happy to move entirely to 2015, but until then we would<br>
have to work around any 2013 breakages.<br>
<br>
<br>
On 29/03/2016 16:16, Pavel Labath via lldb-dev wrote:<br>
> Zachary, all,<br>
><br>
> after overcoming some problems, mostly unrelated to MSVC, we have<br>
> finally managed to switch to VS2015. I think that means there are no<br>
> more VS2013 users remaining. Given that, shall we start the process to<br>
> formally allow c++ features, which were blocked due to VS2013 until<br>
> now? I am mostly thinking about thread-safe function-static variable<br>
> initialization and alias templates here...<br>
><br>
> what do you think?<br>
> pl<br>
><br>
><br>
> On 4 February 2016 at 20:23, Ted Woodward <<a href="mailto:ted.woodward@codeaurora.org" target="_blank">ted.woodward@codeaurora.org</a>> wrote:<br>
>> We can change to 3+2015; if you guys don't think 2+2013 is useful, we'll do that.<br>
>><br>
>> --<br>
>> Qualcomm Innovation Center, Inc.<br>
>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project<br>
>><br>
>> -----Original Message-----<br>
>> From: Pavel Labath [mailto:<a href="mailto:labath@google.com" target="_blank">labath@google.com</a>]<br>
>> Sent: Thursday, February 04, 2016 10:01 AM<br>
>> To: Ted Woodward<br>
>> Cc: Zachary Turner; LLDB<br>
>> Subject: Re: [lldb-dev] MSVC 2013 w/ Python 2.7 is moving to an unsupported toolchain<br>
>><br>
>> Hi all.<br>
>><br>
>> we (android lldb team) are starting to transition to VS2015 as well.<br>
>> For now, the plan is to stick to python 2.7, but if we encounter problems there, the backup plan is to go to python 3 as well. Until then (I estimate that will take 1--2 weeks) our buildbot <<a href="http://lab.llvm.org:8011/builders/lldb-windows7-android" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-windows7-android</a>> will continue building 2.7+2013 and we will be making sure it works, so please don't check in any VS2013 incompatible code (yet).<br>
>><br>
>> Ted: If you can't switch to the 3+2015 combination (which I *do* recommend you try), maybe you can go half-way and switch to 2.7+2015 (I can show you how to build python 2.7 with VS2015). If you stick with 2.7+2013 combo, it will soon be up to you to chase anyone who adds 2013-breaking changes...<br>
>><br>
>> pl<br>
>><br>
>><br>
>> On 2 February 2016 at 23:42, Ted Woodward via lldb-dev <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br>
>>> No, it turned red Friday night/Saturday morning.<br>
>>><br>
>>><br>
>>><br>
>>> Last good build:<br>
>>><br>
>>> <a href="http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/15167" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/15167</a><br>
>>><br>
>>><br>
>>><br>
>>> First bad build:<br>
>>><br>
>>> <a href="http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/15168" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc/builds/15168</a><br>
>>><br>
>>><br>
>>><br>
>>> It went red because of the change to VS2015/Python 3.5.<br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>><br>
>>> Qualcomm Innovation Center, Inc.<br>
>>><br>
>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br>
>>> a Linux Foundation Collaborative Project<br>
>>><br>
>>><br>
>>><br>
>>> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>]<br>
>>> Sent: Tuesday, February 02, 2016 5:28 PM<br>
>>><br>
>>><br>
>>> To: Ted Woodward; LLDB<br>
>>> Subject: Re: [lldb-dev] MSVC 2013 w/ Python 2.7 is moving to an<br>
>>> unsupported toolchain<br>
>>><br>
>>><br>
>>><br>
>>> BTW, I expect that your buildbot has been experiencing the problems<br>
>>> with the<br>
>>> x86 / x64 toolchain for quite some time, because it's not really<br>
>>> relevant to how much memory your machine has, but just that it was<br>
>>> using an x86 toolchain at all.  Has it been red for a long time?<br>
>>><br>
>>><br>
>>><br>
>>> On Tue, Feb 2, 2016 at 1:48 PM Zachary Turner <<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>> wrote:<br>
>>><br>
>>> You may have to make some changes to the zorg scripts to keep that working.<br>
>>> I didn't realize there were any other bots building LLDB, so I made<br>
>>> some changes that will default everything to VS2015 and Py3.<br>
>>><br>
>>><br>
>>><br>
>>> BTW, is your builder doing a debug build or a release build?  When<br>
>>> doing a debug build clang now requires more memory than can fit in a<br>
>>> 4GB address space to link, so using an x86 toolchain won't work<br>
>>> anymore.  I forced a change to use the amd64_x86 toolchain, but this<br>
>>> won't work unless the version of python used by buildbot is a 64-bit<br>
>>> Python distro (because Python.exe is what ultimately calls vcvarsall<br>
>>> and cmake and it inherits the environment of the parent).<br>
>>><br>
>>><br>
>>><br>
>>> So I think you will need to do all this as well.<br>
>>><br>
>>><br>
>>><br>
>>> On Tue, Feb 2, 2016 at 1:44 PM Ted Woodward<br>
>>> <<a href="mailto:ted.woodward@codeaurora.org" target="_blank">ted.woodward@codeaurora.org</a>><br>
>>> wrote:<br>
>>><br>
>>> Then maybe we should keep it 2013/py2.7, until llvm requires 2015.<br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>><br>
>>> Qualcomm Innovation Center, Inc.<br>
>>><br>
>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br>
>>> a Linux Foundation Collaborative Project<br>
>>><br>
>>><br>
>>><br>
>>> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>]<br>
>>> Sent: Tuesday, February 02, 2016 3:43 PM<br>
>>><br>
>>><br>
>>> To: Ted Woodward; LLDB<br>
>>> Subject: Re: [lldb-dev] MSVC 2013 w/ Python 2.7 is moving to an<br>
>>> unsupported toolchain<br>
>>><br>
>>><br>
>>><br>
>>> It's Server 2008 R2 technically, which is the server version of Win 7<br>
>>> (same API set, same OS features, etc).  So yea, I'm pretty confident<br>
>>> that test coverage is going to be 100% the same across both.  It's<br>
>>> just a matter of if you want to have something that you maintain /<br>
>>> have control over, or if you want to test something in a different way than what we're testing.<br>
>>><br>
>>><br>
>>><br>
>>> On Tue, Feb 2, 2016 at 1:29 PM Ted Woodward<br>
>>> <<a href="mailto:ted.woodward@codeaurora.org" target="_blank">ted.woodward@codeaurora.org</a>><br>
>>> wrote:<br>
>>><br>
>>> Yours is Win Server 2008; ours is Win 7. I don’t know if that matters.<br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>><br>
>>> Qualcomm Innovation Center, Inc.<br>
>>><br>
>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br>
>>> a Linux Foundation Collaborative Project<br>
>>><br>
>>><br>
>>><br>
>>> From: Zachary Turner [mailto:<a href="mailto:zturner@google.com" target="_blank">zturner@google.com</a>]<br>
>>> Sent: Tuesday, February 02, 2016 2:48 PM<br>
>>> To: Ted Woodward; LLDB<br>
>>><br>
>>><br>
>>> Subject: Re: [lldb-dev] MSVC 2013 w/ Python 2.7 is moving to an<br>
>>> unsupported toolchain<br>
>>><br>
>>><br>
>>><br>
>>> If I remember correctly your bot isn't actually doing anything<br>
>>> differently than my bot [<a href="http://lab.llvm.org:8011/builders/lldb-x86-windows-msvc2015" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-x86-windows-msvc2015</a>].<br>
>>> If you want you could just remove your bot.  If you want to keep it,<br>
>>> then yea getting it on VS2015 and Python 3 would be the best idea.<br>
>>><br>
>>><br>
>>><br>
>>> On Tue, Feb 2, 2016 at 12:20 PM Ted Woodward via lldb-dev<br>
>>> <<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a>> wrote:<br>
>>><br>
>>> It looks like our bot,<br>
>>> <a href="http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-x86-win7-msvc</a><br>
>>> , has tried to update to Python 3.5 and MSVC 2015, but it can’t find<br>
>>> python or VC. I’ll talk to our buildmiester about it.<br>
>>><br>
>>><br>
>>><br>
>>> Should we run this guy with 2013/py2.7 or 2015/py3.5?<br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>><br>
>>> Qualcomm Innovation Center, Inc.<br>
>>><br>
>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,<br>
>>> a Linux Foundation Collaborative Project<br>
>>><br>
>>><br>
>>><br>
>>> From: lldb-dev [mailto:<a href="mailto:lldb-dev-bounces@lists.llvm.org" target="_blank">lldb-dev-bounces@lists.llvm.org</a>] On Behalf Of<br>
>>> Zachary Turner via lldb-dev<br>
>>> Sent: Tuesday, February 02, 2016 1:55 PM<br>
>>> To: Tamas Berghammer; LLDB<br>
>>> Subject: Re: [lldb-dev] MSVC 2013 w/ Python 2.7 is moving to an<br>
>>> unsupported toolchain<br>
>>><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> On Tue, Feb 2, 2016 at 11:42 AM Tamas Berghammer<br>
>>> <<a href="mailto:tberghammer@google.com" target="_blank">tberghammer@google.com</a>><br>
>>> wrote:<br>
>>><br>
>>> Hi Zachary,<br>
>>><br>
>>><br>
>>><br>
>>> We are still using MSVC 2013 and Python 2.7 to compile LLDB on Windows<br>
>>> for Android Studio and we also have a buildbot what is testing this<br>
>>> configuration (without sending e-mail at the moment) here:<br>
>>> <a href="http://lab.llvm.org:8011/builders/lldb-windows7-android" rel="noreferrer" target="_blank">http://lab.llvm.org:8011/builders/lldb-windows7-android</a><br>
>>><br>
>>><br>
>>><br>
>>> We are in the discussion to decide what is our plan for going forward<br>
>>> both in terms of Visual Studio version and Python version and I expect<br>
>>> that we will make a decision this week. Until then please don't remove<br>
>>> any hack we have in the code because of MSVC 2013 (e.g. alias template<br>
>>> workarounds) and if adding new code then please try not to break MSVC<br>
>>> 2013. I will send out an update about our decision hopefully at the end of this week.<br>
>>><br>
>>> Yea I mentioned already that I'm not planning on removing anything<br>
>>> related to MSVC 2013, just that I'm personally not supporting it.<br>
>>> Which means that if anyone asks for help, or wants to make it work, or<br>
>>> if it breaks accidentally, they're on their own :)  I don't even have<br>
>>> MSVC 2013 installed on my machine anymore, so I can't fix any MSVC<br>
>>> 2013 specific issues that arise.<br>
>>><br>
>>><br>
>>><br>
>>> Of course if someone else comes along and wants to help, I have no<br>
>>> problem with that, but due to the difficulty of dealing with<br>
>>> incompatibility between Python 2 and MSVC 2015, it's just going to be<br>
>>> up to someone else to continue making that work if they need it.<br>
>>><br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> You mentioned that LLVM plan to bump the minimum version of MSVC to<br>
>>> 2015. Do you have any link to the place where they discussed it or do<br>
>>> you know anything about the schedule?<br>
>>><br>
>>><br>
>>><br>
>>> As far as I know the discussion hasn't started yet, but historically<br>
>>> LLVM has always been pretty consistent about bumping the required MSVC version<br>
>>> every 12-18 months.   I know some of the Windows people on the LLVM side are<br>
>>> already "unoficially" using MSVC 2015 on a regular basis, and that's<br>
>>> usually a sign that people are getting an early start to see what kind<br>
>>> of issues might be encountered by the general public when bumping the<br>
>>> required version.<br>
>>><br>
>>> _______________________________________________<br>
>>> lldb-dev mailing list<br>
>>> <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> lldb-dev mailing list<br>
>>> <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
>>><br>
> _______________________________________________<br>
> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@lists.llvm.org" target="_blank">lldb-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev</a><br>
</blockquote></div>