<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Dec 19, 2017, at 3:59 PM, Ted Kremenek <<a href="mailto:kremenek@apple.com" class="">kremenek@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Dec 19, 2017, at 2:31 PM, Daniel Dunbar <<a href="mailto:daniel_dunbar@apple.com" class="">daniel_dunbar@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Dec 19, 2017, at 2:27 PM, Ted Kremenek <<a href="mailto:kremenek@apple.com" class="">kremenek@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<title class=""></title>
<div class="">
<div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" class="">Fair enough.
<div class=""><br class=""></div>
<div class="">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.</div></div></div></div></blockquote><div class=""><br class=""></div>It sounds reasonable, but to be honest I never did an audit of what platforms supported C++14.</div></div></div></blockquote><div class=""><br class=""></div><div class="">Interesting. Was that not a concern when that choice was made for llbuild, or was the context different?</div></div></div></div></blockquote><div><br class=""></div>The context was different, primarily. My personal expectation was that C++14 support would be generally available by the time we needed it on other platforms, or if not we would undertake the cost of reverting to C++11 at the time it was needed.</div><div><br class=""></div><div> - Daniel</div><div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">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.</div></div></div></blockquote><div class=""><br class=""></div><div class="">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.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><div class=""> - Daniel</div><div class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><div name="messageBodySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" class="">
</div>
<div name="messageReplySection" style="font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, sans-serif;" class=""><br class="">
On Dec 19, 2017, 2:23 PM -0800, Daniel Dunbar <<a href="mailto:daniel_dunbar@apple.com" class="">daniel_dunbar@apple.com</a>>, wrote:<br class="">
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #1abc9c;" class="">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).<br class="">
<br class="">
- Daniel<br class="">
<br class="">
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #e67e22;" class="">On Dec 19, 2017, at 2:21 PM, Ted Kremenek <<a href="mailto:kremenek@apple.com" class="">kremenek@apple.com</a>> wrote:<br class="">
<br class="">
Daniel,<br class="">
<br class="">
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.<br class="">
<br class="">
Thanks,<br class="">
Ted<br class="">
<br class="">
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #3498db;" class="">On Dec 13, 2017, at 3:19 PM, Daniel Dunbar via swift-lldb-dev <<a href="mailto:swift-lldb-dev@swift.org" class="">swift-lldb-dev@swift.org</a>> wrote:<br class="">
<br class="">
FWIW, llbuild requires C++14.<br class="">
<br class="">
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.<br class="">
<br class="">
- Daniel<br class="">
<br class="">
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #d35400;" class="">On Dec 13, 2017, at 1:45 PM, Jordan Rose via swift-lldb-dev <<a href="mailto:swift-lldb-dev@swift.org" class="">swift-lldb-dev@swift.org</a>> wrote:<br class="">
<br class="">
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?<br class="">
<br class="">
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.<br class="">
<br class="">
Jordan<br class="">
<br class="">
<br class="">
<blockquote type="cite" style="margin: 5px 5px; padding-left: 10px; border-left: thin solid #34495e;" class="">On Dec 13, 2017, at 10:36, Saleem Abdulrasool via swift-dev <<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>> wrote:<br class="">
<br class="">
Hi,<br class="">
<br class="">
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.<br class="">
<br class="">
Thanks.<br class="">
<br class="">
--<br class="">
Saleem Abdulrasool<br class="">
compnerd (at) compnerd (dot) org<br class="">
_______________________________________________<br class="">
swift-dev mailing list<br class="">
<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-dev" class="">https://lists.swift.org/mailman/listinfo/swift-dev</a><br class=""></blockquote>
<br class="">
_______________________________________________<br class="">
swift-lldb-dev mailing list<br class="">
<a href="mailto:swift-lldb-dev@swift.org" class="">swift-lldb-dev@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-lldb-dev" class="">https://lists.swift.org/mailman/listinfo/swift-lldb-dev</a><br class=""></blockquote>
<br class="">
_______________________________________________<br class="">
swift-lldb-dev mailing list<br class="">
<a href="mailto:swift-lldb-dev@swift.org" class="">swift-lldb-dev@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-lldb-dev" class="">https://lists.swift.org/mailman/listinfo/swift-lldb-dev</a><br class=""></blockquote>
<br class=""></blockquote>
<br class=""></blockquote>
<div class=""></div>
</div>
</div>
</div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div><br class=""></body></html>