Chris Lattner
2013-Jan-11 18:46 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Jan 11, 2013, at 8:35 AM, Brooks Davis <brooks at freebsd.org> wrote:> On Fri, Jan 11, 2013 at 08:02:22AM -0500, Justin Holewinski wrote: >> That said, I think MSVC 2010 is a reasonable target.Just MHO, but I think it is far too early to drop support for MSVC 2010.> It's a bit more complex for FreeBSD (and probably the others) due to > assumptions in our build system.That's what I figured. :-( I also really don't want to inconvenience FreeBSD right when you guys have switched to Clang!> When you do move forward with C++11 features, it would be helpful if > you made a long term commitment to limiting the feature set to those > features in 3.2 or whatever ever release is the last with the current > feature set.Yes, makes sense. We want to have a stated goal that we build with some specific minimum compiler versions.> From my perspective, I'd prefer to see one more llvm release that builds > with gcc 4.2.1 because we've very close to having ARM be self-hosting and > having that on 9 would be a good thing.I think that is perfectly reasonable. Based on the discussion in this thread my proposal is this: - LLVM 3.3 (~April/May 2013) has no C++'11 in it. - Limited C++'11 language features becomes ok after the 3.3 release branches. - We limit ourselves to the intersection of features supported by MSVC 2010, GCC 4.5, and Clang 3.1. - Down the road we can reevaluate and bump up the minimums when it makes sense. Does that seem reasonable - or at least acceptable - for everyone? -Chris
Justin Holewinski
2013-Jan-11 18:52 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
On Fri, Jan 11, 2013 at 1:46 PM, Chris Lattner <clattner at apple.com> wrote:> On Jan 11, 2013, at 8:35 AM, Brooks Davis <brooks at freebsd.org> wrote: > > On Fri, Jan 11, 2013 at 08:02:22AM -0500, Justin Holewinski wrote: > >> That said, I think MSVC 2010 is a reasonable target. > > Just MHO, but I think it is far too early to drop support for MSVC 2010. >Very much agreed!> > > It's a bit more complex for FreeBSD (and probably the others) due to > > assumptions in our build system. > > That's what I figured. :-( I also really don't want to inconvenience > FreeBSD right when you guys have switched to Clang! > > > When you do move forward with C++11 features, it would be helpful if > > you made a long term commitment to limiting the feature set to those > > features in 3.2 or whatever ever release is the last with the current > > feature set. > > Yes, makes sense. We want to have a stated goal that we build with some > specific minimum compiler versions. > > > From my perspective, I'd prefer to see one more llvm release that builds > > with gcc 4.2.1 because we've very close to having ARM be self-hosting and > > having that on 9 would be a good thing. > > I think that is perfectly reasonable. > > Based on the discussion in this thread my proposal is this: > > - LLVM 3.3 (~April/May 2013) has no C++'11 in it. > - Limited C++'11 language features becomes ok after the 3.3 release > branches. > - We limit ourselves to the intersection of features supported by MSVC > 2010, GCC 4.5, and Clang 3.1. > - Down the road we can reevaluate and bump up the minimums when it makes > sense. > > Does that seem reasonable - or at least acceptable - for everyone? >My only concern is the GCC version. If we bump up to 4.5 (which eliminates the current crop of "enterprise" Linux distros on 4.4), why not set it at 4.6, which is the default on reasonably current LTS distros like Ubuntu 12.04?> > -Chris > > >-- Thanks, Justin Holewinski -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130111/3a4bdbbb/attachment.html>
Eli Bendersky
2013-Jan-11 18:56 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
>> Does that seem reasonable - or at least acceptable - for everyone? > > > My only concern is the GCC version. If we bump up to 4.5 (which eliminates > the current crop of "enterprise" Linux distros on 4.4), why not set it at > 4.6, which is the default on reasonably current LTS distros like Ubuntu > 12.04? >I suppose this tradeoff can be evaluated by looking at the delta between 4.5 and 4.6 which is actually supported by MSVC 2010 and Clang 3.1 Eli
dag at cray.com
2013-Jan-11 19:29 UTC
[LLVMdev] Using C++'11 language features in LLVM itself
Chris Lattner <clattner at apple.com> writes:> Based on the discussion in this thread my proposal is this: > > - LLVM 3.3 (~April/May 2013) has no C++'11 in it. > - Limited C++'11 language features becomes ok after the 3.3 release branches. > - We limit ourselves to the intersection of features supported by MSVC 2010, GCC 4.5, and Clang 3.1. > - Down the road we can reevaluate and bump up the minimums when it makes sense. > > Does that seem reasonable - or at least acceptable - for everyone?Given that the only IMHO significant C++11 additions in gcc 4.6 are range-based for and constexpr and that MSVC 10 doesn't have range-based for, I think this is perfectly acceptable. I would like to see us allow range-based for as soon as reaonsably possible though. It would be nice to have a roadmap to know what that will be coming. We might want to have a web page stating which pieces of C++11 will be allowed. Something like the g++ C++11 feature list would be nice. Otherwise I fear people will look at the feature list for their compiler and assume they can use anything supported. -David
Reasonably Related Threads
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself
- [LLVMdev] Using C++'11 language features in LLVM itself