> On Dec 19, 2017, at 5:08 PM, Saleem Abdulrasool <compn...@compnerd.org> wrote: > > > >>> 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> wrote: >>>> >>>> >>>> >>>> On Dec 19, 2017, at 2:27 PM, Ted Kremenek <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.
OK, I’m convinced. I want to hold off for a tiny bit just to see if anyone else has any commentary on this thread before we make a change. > >>> >>> - Daniel >>> >>>> >>>>> On Dec 19, 2017, 2:23 PM -0800, Daniel Dunbar <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> 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> 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> 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> 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 >>>>>>>>> https://lists.swift.org/mailman/listinfo/swift-dev >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> swift-lldb-dev mailing list >>>>>>>> swift-lldb-...@swift.org >>>>>>>> https://lists.swift.org/mailman/listinfo/swift-lldb-dev >>>>>>> >>>>>>> _______________________________________________ >>>>>>> swift-lldb-dev mailing list >>>>>>> swift-lldb-...@swift.org >>>>>>> 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