For anyone still on gcc 4.2.1, then I think this entire discussion is kind of irrelevant, because they are already having to build a new toolchain to compile LLVM, since the minimum is currently 4.7. So for those people, I would imagine 4.7 vs. 4.9 makes no difference? Maybe I'm misunderstanding the table of the distrowatch page, but if FreeBSD 11 has clang 3.8 as you say, why does distrowatch say FreeBSD 10 and 11 have clang 3.9 <http://distrowatch.com/table.php?distribution=freebsd>? On Sun, Oct 2, 2016 at 7:10 PM Krzysztof Parzyszek via llvm-dev < llvm-dev at lists.llvm.org> wrote:> On 10/2/2016 6:09 PM, Zachary Turner via llvm-dev wrote: > > The BSDs don't seem as much of an issue. FreeBSD 10 and 11 both have > > LLVM 3.9 and GCC 4.9. NetBSD 6.1.5 and 7.0 both have GCC 5.3 and LLVM > > 3.8. Open BSD has a very old GCC, but distrowatch claims that it also > > has LLVM 3.8. > > FreeBSD 11 has clang 3.8.0. There is gcc in the /usr/src/contrib, but > that's 4.2.1. There are still platforms that FreeBSD supports that have > not finished moving to clang (from gcc 4.2.1). > > -Krzysztof > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161003/9a21cb43/attachment.html>
I wasn't able to find that information on the distrowatch page you linked, but I will assume that it is talking about the available ports, e.g. packages external to the FreeBSD base system. In the FreeBSD ports collection, we have clang 3.3 through 3.9 available, and a 4.0 trunk snapshot as of 2016-08-24. On the other hand, the base system is a little different, in the sense that we use clang to bootstrap the whole system, and use the FreeBSD build system instead of llvm/clang's native build system. Also, we don't have all the additional tools like llc, opt, and so on, by default. FreeBSD 10.3 currently has clang 3.4.1, with libc++ from around that time, plus a bunch of patches. I think it will be able to do most of C++14, except maybe some corner cases. FreeBSD 11.0 (which is going to ship any day now) has clang 3.8.0, with libc++ 3.8.0. I'm currently working on importing clang 3.9.0 into FreeBSD 12 (the development version) together with libc++ 3.9.0, compiler-rt 3.9.0 and so on. These will hopefully land before the end of this month. After about a month, I will merge it all into FreeBSD 11, so it will end up in FreeBSD 11.1. -Dimitry> On 03 Oct 2016, at 05:43, Zachary Turner via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > For anyone still on gcc 4.2.1, then I think this entire discussion is kind of irrelevant, because they are already having to build a new toolchain to compile LLVM, since the minimum is currently 4.7. So for those people, I would imagine 4.7 vs. 4.9 makes no difference? > > Maybe I'm misunderstanding the table of the distrowatch page, but if FreeBSD 11 has clang 3.8 as you say, why does distrowatch say FreeBSD 10 and 11 have clang 3.9? > > On Sun, Oct 2, 2016 at 7:10 PM Krzysztof Parzyszek via llvm-dev <llvm-dev at lists.llvm.org> wrote: > On 10/2/2016 6:09 PM, Zachary Turner via llvm-dev wrote: > > The BSDs don't seem as much of an issue. FreeBSD 10 and 11 both have > > LLVM 3.9 and GCC 4.9. NetBSD 6.1.5 and 7.0 both have GCC 5.3 and LLVM > > 3.8. Open BSD has a very old GCC, but distrowatch claims that it also > > has LLVM 3.8. > > FreeBSD 11 has clang 3.8.0. There is gcc in the /usr/src/contrib, but > that's 4.2.1. There are still platforms that FreeBSD supports that have > not finished moving to clang (from gcc 4.2.1). > > -Krzysztof > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 194 bytes Desc: Message signed with OpenPGP using GPGMail URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161003/77907a14/attachment.sig>
I see a lot of people talking about c++14 and *maybe* clang-N.N.N will support it, but is there any tests which can be used to actually/tangibly verify this? Is there tests for the features being proposed to take advantage of? It would be prudent to ensure there's tests available to verify on buildbots before any decision to switch is made. Break this into steps and it becomes a plan instead of just tossing opinions around.>From what I read so far - I'd speculate that only old Linux and NetBSDwill have an issue with the bump. Worst case those platforms need an extra step to bootstrap, but should that hold everything back? Either newer clang is good enough to replace the older version or it's not. However, testing as a pre-cursor and getting facts is important. #1 Tests for the features #2 Bug tracker to identify any regressions blocking updating #3 Buildbots to verify On Mon, Oct 3, 2016 at 6:49 PM, Dimitry Andric via llvm-dev <llvm-dev at lists.llvm.org> wrote:> I wasn't able to find that information on the distrowatch page you linked, but I will assume that it is talking about the available ports, e.g. packages external to the FreeBSD base system. In the FreeBSD ports collection, we have clang 3.3 through 3.9 available, and a 4.0 trunk snapshot as of 2016-08-24. > > On the other hand, the base system is a little different, in the sense that we use clang to bootstrap the whole system, and use the FreeBSD build system instead of llvm/clang's native build system. Also, we don't have all the additional tools like llc, opt, and so on, by default. > > FreeBSD 10.3 currently has clang 3.4.1, with libc++ from around that time, plus a bunch of patches. I think it will be able to do most of C++14, except maybe some corner cases. > > FreeBSD 11.0 (which is going to ship any day now) has clang 3.8.0, with libc++ 3.8.0. > > I'm currently working on importing clang 3.9.0 into FreeBSD 12 (the development version) together with libc++ 3.9.0, compiler-rt 3.9.0 and so on. These will hopefully land before the end of this month. After about a month, I will merge it all into FreeBSD 11, so it will end up in FreeBSD 11.1. > > -Dimitry > >> On 03 Oct 2016, at 05:43, Zachary Turner via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> For anyone still on gcc 4.2.1, then I think this entire discussion is kind of irrelevant, because they are already having to build a new toolchain to compile LLVM, since the minimum is currently 4.7. So for those people, I would imagine 4.7 vs. 4.9 makes no difference? >> >> Maybe I'm misunderstanding the table of the distrowatch page, but if FreeBSD 11 has clang 3.8 as you say, why does distrowatch say FreeBSD 10 and 11 have clang 3.9? >> >> On Sun, Oct 2, 2016 at 7:10 PM Krzysztof Parzyszek via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> On 10/2/2016 6:09 PM, Zachary Turner via llvm-dev wrote: >> > The BSDs don't seem as much of an issue. FreeBSD 10 and 11 both have >> > LLVM 3.9 and GCC 4.9. NetBSD 6.1.5 and 7.0 both have GCC 5.3 and LLVM >> > 3.8. Open BSD has a very old GCC, but distrowatch claims that it also >> > has LLVM 3.8. >> >> FreeBSD 11 has clang 3.8.0. There is gcc in the /usr/src/contrib, but >> that's 4.2.1. There are still platforms that FreeBSD supports that have >> not finished moving to clang (from gcc 4.2.1). >> >> -Krzysztof >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
On 2 October 2016 at 23:43, Zachary Turner via llvm-dev <llvm-dev at lists.llvm.org> wrote:> For anyone still on gcc 4.2.1, then I think this entire discussion is kind > of irrelevant, because they are already having to build a new toolchain to > compile LLVM, since the minimum is currently 4.7. So for those people, I > would imagine 4.7 vs. 4.9 makes no difference?I believe that's correct. We have a few cases wrt compilers in the base system, in supported FreeBSD branches: 1) GCC 4.2.1 is /usr/bin/cc, Clang 3.4.1 or later is available as /usr/bin/clang 2) GCC 4.2.1 is /usr/bin/cc, Clang is not available 3) Clang 3.4.1 or later is /usr/bin/cc As long as the minimum Clang version required to build LLVM doesn't move past 3.4.1 we have a way to build with the system tool chain for 1 and 3. As you point out Case 2 already has a tricky bootstrapping path, and this proposal doesn't really make it any harder.