> On Dec 19, 2017, at 3:59 PM, Ted Kremenek <kreme...@apple.com> wrote: > > > >> On Dec 19, 2017, at 2:31 PM, Daniel Dunbar <daniel_dun...@apple.com >> <mailto:daniel_dun...@apple.com>> wrote: >> >> >> >>> On Dec 19, 2017, at 2:27 PM, Ted Kremenek <kreme...@apple.com >>> <mailto:kreme...@apple.com>> wrote: >>> >>> Fair enough. >>> >>> We care about swiftc and llbuild building a variety of platforms today — >>> FreeBSD, Rasberry Pi, etc. My impression is that C++14 is generally >>> supported by both (a) the mininum versions of the distributions we support >>> today and (b) the current versions of the platforms we’d like to expand >>> Swift to in the future. Does that sound right? I suspect you went through >>> the same kind of reasoning with llbuild. >> >> It sounds reasonable, but to be honest I never did an audit of what >> platforms supported C++14. > > Interesting. Was that not a concern when that choice was made for llbuild, > or was the context different? > >> >> I do think that we could always use the Clang++ we build as part of Swift to >> build Swift itself. By that logic, it seems reasonable to expect we could >> always have C++14 support, although it does mean that porters would need >> modern Clang to support their platform. However, that is likely largely a >> prerequisite for Swift to work as well. > > That’s a significant change to make just to get C++14 support guaranteed, and > (I believe) would have a non-trivial impact on those using development > environments that expect to use the Clang bundled with them to build projects.
Agreed. However, the current supported platforms already support this minimum. I think that future platforms will need to provide that anyways. If the system doesn’t have a modern toolchain available, I suspect that it already would not have C++11 available either. In such a scenario, they need to provide a newer toolchain, and so the difference there is minimal as we already require C++11. >> >> - Daniel >> >>> >>> On Dec 19, 2017, 2:23 PM -0800, Daniel Dunbar <daniel_dun...@apple.com >>> <mailto:daniel_dun...@apple.com>>, wrote: >>>> It wasn’t changed, it has *always* been C++14 since the day we open >>>> sourced it. I only investigated the platforms we officially support >>>> (Ubuntu 14.04/15.10 at the time, and macOS 10.10+ IIRC). >>>> >>>> - Daniel >>>> >>>>> On Dec 19, 2017, at 2:21 PM, Ted Kremenek <kreme...@apple.com >>>>> <mailto:kreme...@apple.com>> wrote: >>>>> >>>>> Daniel, >>>>> >>>>> When you changed llbuild to require C++14, what platforms did you take >>>>> into account with that change? If you have already done the assessment >>>>> here it could speed a resolution of a decision. >>>>> >>>>> Thanks, >>>>> Ted >>>>> >>>>>> On Dec 13, 2017, at 3:19 PM, Daniel Dunbar via swift-lldb-dev >>>>>> <swift-lldb-...@swift.org <mailto:swift-lldb-...@swift.org>> wrote: >>>>>> >>>>>> FWIW, llbuild requires C++14. >>>>>> >>>>>> We have to do some minor shenanigans to workaround bugs in libstdc++ on >>>>>> 14.04, and our use is probably minimal, but just throwing that out there. >>>>>> >>>>>> - Daniel >>>>>> >>>>>>> On Dec 13, 2017, at 1:45 PM, Jordan Rose via swift-lldb-dev >>>>>>> <swift-lldb-...@swift.org <mailto:swift-lldb-...@swift.org>> wrote: >>>>>>> >>>>>>> No one else has commented on this yet today, so I'll put in that I >>>>>>> don't have any objections to this and don't foresee any major problems. >>>>>>> The one place where we'd need to be careful is with LLDB, which imports >>>>>>> Swift headers; if Swift is going to move to C++14, then Swift-LLDB >>>>>>> probably has to as well. LLDB folks, what do you think? >>>>>>> >>>>>>> The other thing to check is if our minimum Clang or libstdc++ >>>>>>> requirements on Linux didn't support C++14. It looks like our README is >>>>>>> vague on that, but LLDB already suggests a minimum requirement of Clang >>>>>>> 3.5, which is new enough. I suspect we're okay here. >>>>>>> >>>>>>> Jordan >>>>>>> >>>>>>> >>>>>>>> On Dec 13, 2017, at 10:36, Saleem Abdulrasool via swift-dev >>>>>>>> <swift-dev@swift.org <mailto:swift-dev@swift.org>> wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> The newer Windows SDK requires the use of C++14 (the SDK headers use >>>>>>>> `auto` return types without trailing type information). Joe mentioned >>>>>>>> that there was some interest in switching the rest of swift to C++14 >>>>>>>> as well. I figured that I would just start a thread here to determine >>>>>>>> if this is okay to do globally rather than just specifically for the >>>>>>>> Windows builds to ensure that we can build the Windows components. >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> -- >>>>>>>> Saleem Abdulrasool >>>>>>>> compnerd (at) compnerd (dot) org >>>>>>>> _______________________________________________ >>>>>>>> swift-dev mailing list >>>>>>>> swift-dev@swift.org <mailto:swift-dev@swift.org> >>>>>>>> https://lists.swift.org/mailman/listinfo/swift-dev >>>>>>>> <https://lists.swift.org/mailman/listinfo/swift-dev> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> swift-lldb-dev mailing list >>>>>>> swift-lldb-...@swift.org <mailto:swift-lldb-...@swift.org> >>>>>>> https://lists.swift.org/mailman/listinfo/swift-lldb-dev >>>>>>> <https://lists.swift.org/mailman/listinfo/swift-lldb-dev> >>>>>> >>>>>> _______________________________________________ >>>>>> swift-lldb-dev mailing list >>>>>> swift-lldb-...@swift.org <mailto:swift-lldb-...@swift.org> >>>>>> https://lists.swift.org/mailman/listinfo/swift-lldb-dev >>>>>> <https://lists.swift.org/mailman/listinfo/swift-lldb-dev>
_______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev