> On Feb 16, 2015, at 10:47 AM, Aaron Ballman <aa...@aaronballman.com> wrote: > > On Mon, Feb 16, 2015 at 1:37 PM, Chris Bieneman <be...@apple.com> wrote: >> The plan as stated was: >> >> 1) Loop in cfe-dev and lldb-dev (Done!) >> 2) Wait until this email fully circulates in digests and LLVM Weekly so that >> everyone who has an objection can voice it >> 3) If there are no objections, Commit a change to the CMake build which >> errors on old MSVC versions >> 4) Revert and fix buildbots >> 5) Repeat 3 & 4 until no issues > > It's my understanding that we're past step 5 currently, and waiting to > do step 6.
When I landed the change originally I saw no failures from any public bots. I assume Takumi reverted it because there was a failure on a non-public bot. Since the change re-landed on Sunday, I don’t think it is really safe to assume all non-public bots had been migrated. I’m not trying to stand in the way of progress here, but I do feel like we’ve kinda thrown the plan to the wind here. > >> 6) Once the change is live for a week with no issues, update the >> documentation to reflect the minimum required MSVC version as 2013 >> >> This really doesn’t make sense if we are landing changes requiring MSVC 2013 >> between steps 3&5. Reverting as needed now that we have a stack of changes >> that is piling up isn’t really viable anymore. > > You are correct, if we need to revert, it would be challenging. My > understanding is that we do not need to revert any further, as > Chapuni's bots were the last ones that needed specific attention. The > lld and lldb bots may require further attention, but not certain > whether they require this change to be reverted? Those owners would > have to speak up with what they'd like to see happen. Hopefull there are no issues, but since this was re-landed on a Sunday when a lot of people aren’t around and watching I’m nervous that we may have broken things when people weren’t looking. > >> So I assume the new plan to just make anyone using MSVC update or they can’t >> build anymore. > > They couldn't build after step 3 anyway (almost any source changes > require CMake to rebuild the solutions, so any source fetches getting > newer code would also get the CMake files requiring a newer version of > MSVC before the solution can be generated). The repetition part of the > above steps is for build bots, not all users (though, obviously, if > there are major users who are stuck and didn't realize it until now, > we would have to figure out how to handle that). Right, but step 4 is to revert that change. We’ve now basically made it prohibitively difficult to revert. Look, I want to use variadic templates as much as the next guy, I’m just also wanting to be considerate of our unfortunate colleagues using MSVC. -Chris > > ~Aaron > >> >> -Chris >> >>> On Feb 16, 2015, at 10:32 AM, Aaron Ballman <aa...@aaronballman.com> wrote: >>> >>> On Mon, Feb 16, 2015 at 1:22 PM, Chris Bieneman <be...@apple.com> wrote: >>>> + 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. >>> >>> Once the CMake changes went live, anyone who was still on MSVC 2012 >>> could no longer build, regardless. Waiting a week before landing >>> changes doesn't make that situation different for those users. I was >>> under the impression that the week-long embargo was for the docs only, >>> and it was to give us time to stabilize bots as-needed while finding >>> out what works and does not work with MSVC 2013 in practice. >>> >>>> 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? >>> >>> I believe the plan is to continue ripping out MSVC 2012 (and earlier) >>> compatibility to determine the base feature set that's valid to use. >>> For instance, my testing still shows that MSVC 2013 does not >>> synthesize move constructors properly, and so a lot of those hacks >>> must remain in place. However, it appears that = delete and explicit >>> operator support are sufficient to add to the set of working items. >>> From this, we can update the documentation. >>> >>> ~Aaron >> _______________________________________________ lldb-dev mailing list lldb-dev@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev