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

Greg Bedwell gregbedwell at gmail.com
Mon Feb 9 05:36:11 PST 2015


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?

Thanks,

-Greg


On 31 January 2015 at 01:17, Chris Bieneman <beanz at apple.com> wrote:

> Yes. I’ll handle the documentation updates too.
>
> I’ll base the list of C++11 features on the MSDN documentation.
>
> -Chris
>
> > On Jan 30, 2015, at 3:57 PM, Aaron Ballman <aaron at aaronballman.com>
> wrote:
> >
> > On Fri, Jan 30, 2015 at 6:51 PM, Chris Bieneman <cbieneman at apple.com>
> wrote:
> >> +Alex Bradbury
> >>
> >> Sounds to me like we have no known users still on VS 2012.
> >>
> >> So, how about we plan to move forward again with Chandler’s proposal
> for making this transition. For those who don’t want to dig through to the
> beginning here’s the basic plan:
> >>
> >> 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
> >> 6) Once the change is live for a week with no issues, update the
> documentation to reflect the minimum required MSVC version as 2013
> >
> > Also:
> >
> > 7) Update the documentation as to what minimum set of C++11 features
> > are allowed in the code base.
> >
> >> Alex, can you please make sure that this plan makes it into the next
> LLVM Weekly? If there are no objections this time I will update CMake files
> a few days after the LLVM Weekly goes out.
> >
> > Can you also handle the documentation updates a few days after the
> > CMake changes have been made live?
> >
> > Thanks!
> >
> > ~Aaron
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150209/306486a8/attachment.html>


More information about the cfe-dev mailing list