Chandler Carruth
2013-Oct-28 21:19 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
One thing I want to call out: On Mon, Oct 28, 2013 at 8:20 AM, Chris Lattner <clattner at apple.com> wrote:> I suppose what I'm saying is that we are currently not using *any* C++'11 > features. It seems like conservatively great progress for LLVM 3.4 to bump > the minimum GCC requirement up to enable use of VC 2010-era features (like > rvalue refs and simple stdlib features),I am strongly opposed to this. Currently, we have people that are relying on our C++98 status. This isn't actually about VC2010 issues, this is about GCC support. I think it would be a disservice to change that in 3.4, only a small number of weeks away from the branch point. That seems like very little notice.> then jump to VC2012 features in LLVM 3.5 assuming that goes well. We're > talking about a 6 month delta between the two, and I think we'll learn a > lot in the first step.I think the biggest jump will be to have a floor at all, and I think we should just pick on that makes sense, and advertise the day lights out of it. Put it in the 3.4 release notes that going forward we're going to be dropping support for older toolchains, etc., etc. This will really help manage the expectations of users, and ensure that folks plan adequately for 3.5 and get C++11-supporting toolchains installed on their systems, etc. I have also heard no serious objection to the three versions I gave as a baseline: VC2012, GCC 4.7 (the series, not any specific patch release), and Clang 3.1. This also helps stage out the inevitable "lets rewrite the codebase" churn> over more time.I think this is a lost cause, and ultimately a (relatively) unimportant one. We have great tools to cope with this as well. ;] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131028/60f558d6/attachment.html>
Chris Lattner
2013-Oct-28 21:31 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
On Oct 28, 2013, at 2:19 PM, Chandler Carruth <chandlerc at google.com> wrote:> One thing I want to call out: > > On Mon, Oct 28, 2013 at 8:20 AM, Chris Lattner <clattner at apple.com> wrote: > I suppose what I'm saying is that we are currently not using *any* C++'11 features. It seems like conservatively great progress for LLVM 3.4 to bump the minimum GCC requirement up to enable use of VC 2010-era features (like rvalue refs and simple stdlib features), > > I am strongly opposed to this. Currently, we have people that are relying on our C++98 status. This isn't actually about VC2010 issues, this is about GCC support. I think it would be a disservice to change that in 3.4, only a small number of weeks away from the branch point. That seems like very little notice.Yes, good point. A more logical one would be to go for 3.5/3.6 for "VC2010" and "VC2012" feature adoption.> > then jump to VC2012 features in LLVM 3.5 assuming that goes well. We're talking about a 6 month delta between the two, and I think we'll learn a lot in the first step. > > I think the biggest jump will be to have a floor at all, and I think we should just pick on that makes sense, and advertise the day lights out of it. Put it in the 3.4 release notes that going forward we're going to be dropping support for older toolchains, etc., etc. This will really help manage the expectations of users, and ensure that folks plan adequately for 3.5 and get C++11-supporting toolchains installed on their systems, etc. > > I have also heard no serious objection to the three versions I gave as a baseline: VC2012, GCC 4.7 (the series, not any specific patch release), and Clang 3.1.Ok. If no-one has an objection, then putting it in the release notes (and the announcement email!) makes sense. We can make the switch a few weeks after the release if no one has strongly objected. -Chris -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131028/b6125566/attachment.html>
Brooks Davis
2013-Oct-28 22:12 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
On Mon, Oct 28, 2013 at 02:31:10PM -0700, Chris Lattner wrote:> > On Oct 28, 2013, at 2:19 PM, Chandler Carruth <chandlerc at google.com> wrote: > > > One thing I want to call out: > > > > On Mon, Oct 28, 2013 at 8:20 AM, Chris Lattner <clattner at apple.com> wrote: > > I suppose what I'm saying is that we are currently not using *any* C++'11 features. It seems like conservatively great progress for LLVM 3.4 to bump the minimum GCC requirement up to enable use of VC 2010-era features (like rvalue refs and simple stdlib features), > > > > I am strongly opposed to this. Currently, we have people that are relying on our C++98 status. This isn't actually about VC2010 issues, this is about GCC support. I think it would be a disservice to change that in 3.4, only a small number of weeks away from the branch point. That seems like very little notice. > > Yes, good point. A more logical one would be to go for 3.5/3.6 for "VC2010" and "VC2012" feature adoption.FWIW, I thought the agreement when this came up previously was that 3.4 could include C++11 features. Delaying one more might help FreeBSD a bit, but we've been planning as though 3.4 would break the ability to build on gcc 4.2.> > then jump to VC2012 features in LLVM 3.5 assuming that goes well. We're talking about a 6 month delta between the two, and I think we'll learn a lot in the first step. > > > > I think the biggest jump will be to have a floor at all, and I think we should just pick on that makes sense, and advertise the day lights out of it. Put it in the 3.4 release notes that going forward we're going to be dropping support for older toolchains, etc., etc. This will really help manage the expectations of users, and ensure that folks plan adequately for 3.5 and get C++11-supporting toolchains installed on their systems, etc. > > > > I have also heard no serious objection to the three versions I gave as a baseline: VC2012, GCC 4.7 (the series, not any specific patch release), and Clang 3.1. > > Ok. If no-one has an objection, then putting it in the release notes (and the announcement email!) makes sense. We can make the switch a few weeks after the release if no one has strongly objected.Requiring GCC 4.7 or Clang 3.1 would work fine for us. We may need to jump through some hoops to keep ports working on FreeBSD 8.4 until the end of support (June 30, 2015), but we're probably going to need to do work there anyway with other code bases adopting C++11. For FreeBSD 11 we plan to support compilation with Clang and an externally bootstrapped GCC with support for GCC 4.9 and maybe 4.8 and 4.7 if someone does the work. For us, the biggest thing that helps is requirements stability. Today you could probably pick a somewhat newer Clang than 3.1 without much real impact on us, but it would hurt to have the requirements change with every release. From our perspective it's much better to change no more than every two years or so. -- Brooks -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 188 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131028/ee819230/attachment.sig>
Chandler Carruth
2013-Oct-29 20:31 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
On Mon, Oct 28, 2013 at 2:31 PM, Chris Lattner <clattner at apple.com> wrote:> Ok. If no-one has an objection, then putting it in the release notes (and > the announcement email!) makes sense. We can make the switch a few weeks > after the release if no one has strongly objected.So far, I'm not hearing any significant objections. I'm going to put the plan of record about this into the release notes, and I'll write up a blog post about it and do some other things which will likely make enough noise to ensure we aren't missing people's objections over the next few weeks. (Maybe at the dev meeting! ;]) By the time we go to branch the release, we should know if there are any latent concerns from folks. Thanks for all the discussion so far! (And I'll happily carry on discussing the meta issue of how C++11 should look when used in LLVM, not trying to close that down.) -Chandler -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131029/368ec319/attachment.html>
Reasonably Related Threads
- [LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
- [LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
- [LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
- [LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
- [LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers