Tom Stellard
2013-Nov-12 04:37 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, Nov 11, 2013 at 06:32:17PM -0800, Tim Northover wrote:> > I think that if we are committed to supporting gcc 4.7.x in LLVM, then > > we need to be prepared to not use c++11 features that may be broken in > > earlier 4.7.x releases. > > We've got precedent for "broken compilers" documentation. Dodgy > versions of 4.7.x could easily come under that heading (depending on > how widely deployed they actually are: only time will tell). >My point is that we can't tell users we support 4.7.x and then expect them to just change their compiler if someone adds a c++11 feature that is broken on whatever 4.7.x version of gcc they have chosen. If we say we support 4.7.x, then I don't think we should use c++11 features that aren't supported and working on all 4.7.x versions. -Tom
Chris Lattner
2013-Nov-12 04:45 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
On Nov 11, 2013, at 8:37 PM, Tom Stellard <tom at stellard.net> wrote:> On Mon, Nov 11, 2013 at 06:32:17PM -0800, Tim Northover wrote: >>> I think that if we are committed to supporting gcc 4.7.x in LLVM, then >>> we need to be prepared to not use c++11 features that may be broken in >>> earlier 4.7.x releases. >> >> We've got precedent for "broken compilers" documentation. Dodgy >> versions of 4.7.x could easily come under that heading (depending on >> how widely deployed they actually are: only time will tell). >> > > My point is that we can't tell users we support 4.7.x and then expect > them to just change their compiler if someone adds a c++11 feature that > is broken on whatever 4.7.x version of gcc they have chosen. > > If we say we support 4.7.x, then I don't think we should use c++11 > features that aren't supported and working on all 4.7.x versions.Why not just explicitly say 4.7.1 and later? Are there any buildbots that build with 4.7.1 yet? If not, that should be a prerequisite to making the move. -Chris
Tim Northover
2013-Nov-12 04:48 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
> My point is that we can't tell users we support 4.7.x and then expect > them to just change their compiler if someone adds a c++11 feature that > is broken on whatever 4.7.x version of gcc they have chosen.Yes we can. Somewhere there's a line between unsupported features and buggy compilers. That's not automatically at "whatever 4.7.0 compiles correctly". Otherwise we'd have to disallow any statement. Tim.
Renato Golin
2013-Nov-12 07:36 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
On 12 November 2013 04:48, Tim Northover <t.p.northover at gmail.com> wrote:> > My point is that we can't tell users we support 4.7.x and then expect > > them to just change their compiler if someone adds a c++11 feature that > > is broken on whatever 4.7.x version of gcc they have chosen. > > Yes we can. Somewhere there's a line between unsupported features and > buggy compilers. That's not automatically at "whatever 4.7.0 compiles > correctly". Otherwise we'd have to disallow any statement. >Exactly! I don't think we should be relying on a specific release of a specific compiler for feature support. We'd be stating that a specific compiler (GCC) is the source of truth and all good, which is at least misleading, and can lead to headaches in the future. --renato -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131112/f3f9c8de/attachment.html>
Tom Stellard
2013-Nov-12 16:09 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, Nov 11, 2013 at 08:45:48PM -0800, Chris Lattner wrote:> > On Nov 11, 2013, at 8:37 PM, Tom Stellard <tom at stellard.net> wrote: > > > On Mon, Nov 11, 2013 at 06:32:17PM -0800, Tim Northover wrote: > >>> I think that if we are committed to supporting gcc 4.7.x in LLVM, then > >>> we need to be prepared to not use c++11 features that may be broken in > >>> earlier 4.7.x releases. > >> > >> We've got precedent for "broken compilers" documentation. Dodgy > >> versions of 4.7.x could easily come under that heading (depending on > >> how widely deployed they actually are: only time will tell). > >> > > > > My point is that we can't tell users we support 4.7.x and then expect > > them to just change their compiler if someone adds a c++11 feature that > > is broken on whatever 4.7.x version of gcc they have chosen. > > > > If we say we support 4.7.x, then I don't think we should use c++11 > > features that aren't supported and working on all 4.7.x versions. > > Why not just explicitly say 4.7.1 and later? Are there any buildbots that build with 4.7.1 yet? If not, that should be a prerequisite to making the move. >I think this would be a good idea. -Tom
dag at cray.com
2013-Nov-12 18:20 UTC
[LLVMdev] [cfe-dev] RFC: A proposal to move toward using C++11 features in LLVM & Clang / bounding support for old host compilers
Chris Lattner <clattner at apple.com> writes:>> If we say we support 4.7.x, then I don't think we should use c++11 >> features that aren't supported and working on all 4.7.x versions. > > Why not just explicitly say 4.7.1 and later? Are there any buildbots > that build with 4.7.1 yet? If not, that should be a prerequisite to > making the move.Does that statement include 4.8.x and beyond? My main concern, as outlined in another message I just sent, is what "4.7.1 and later" means in terms of support from upstream. Do the inevitable problems discovered get worked around in the LLVM project sources or are problematic compilers simply noted as such in the documentation, potentially forcing users to upgrade their toolchain again? I can see tradeoffs with each strategy. It's important to be clear so we have proper expectations. I'm pushing on this because although most toolchain upgrades are simple, when they go bad they go REALLY bad. It's a risk that has to be managed. -David
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