[cfe-dev] [llvm-dev] [Release-testers] [7.0.0 Release] rc1 has been tagged
Louis Dionne via cfe-dev
cfe-dev at lists.llvm.org
Tue Aug 7 13:38:13 PDT 2018
> On Aug 7, 2018, at 16:17, Dimitry Andric via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> On 3 Aug 2018, at 13:37, Hans Wennborg via Release-testers <release-testers at lists.llvm.org> wrote:
>>
>> Dear testers,
>>
>> 7.0.0-rc1 was just tagged (from the branch at r338847).
>>
>> It's early in the release process, but I'd like to find out what the
>> status is of the branch on our various platforms.
>>
>> Please run the test script, share the results, and upload binaries.
>
> I've built and tested for FreeBSD 11 (a.k.a 11-STABLE) this time, since
> FreeBSD 10 will be going EOL pretty soon now. Uploaded:
>
> SHA256 (clang+llvm-7.0.0-rc1-amd64-unknown-freebsd11.tar.xz) = ed3191635be26cced8c75d5e57ff7e559f44b927a64c10d22611d8d912cf6df4
>
> I posted the full test results here:
>
> https://gist.github.com/DimitryAndric/64e9a7805a01e6027e2aaabfcda42bed
>
> Summary:
> Expected Passes : 50388
> Expected Failures : 233
> Unsupported Tests : 3687
> Unexpected Passes : 1
> Unexpected Failures: 2490
>
> The failures are distributed as follows:
>
> 2028 libc++
> 205 AddressSanitizer-i386-freebsd-dynamic
> 200 AddressSanitizer-x86_64-freebsd-dynamic
> 20 XRay-Unit
> 11 MemorySanitizer-Unit
> 7 lldb-Suite
> 4 libunwind
> 3 XRay-x86_64-freebsd
> 3 lldb
> 2 ThreadSanitizer-x86_64
> 2 UBSan-MemorySanitizer-x86_64
> 2 libFuzzer
> 1 SanitizerCommon-asan-i386-FreeBSD
> 1 SanitizerCommon-asan-x86_64-FreeBSD
> 1 libomp
>
> Almost all libc++ failures are due to FreeBSD missing timespec_get(),
> and this became mandatory with https://reviews.llvm.org/rL338419:
>
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp:26:
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/iostream:38:
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/ios:216:
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/__locale:18:
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/mutex:191:
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/__mutex_base:15:
> In file included from /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/chrono:795:
> /home/dim/llvm/7.0.0/rc1/llvm.src/projects/libcxx/include/ctime:77:9: error: no member named 'timespec_get' in the global namespace; did you mean 'timespec'?
> using ::timespec_get;
> ~~^~~~~~~~~~~~
> timespec
> /usr/include/sys/_timespec.h:44:8: note: 'timespec' declared here
> struct timespec {
> ^
>
> We're tracking this in FreeBSD here: https://bugs.freebsd.org/230400,
> but for existing FreeBSD releases this isn't fixable, so we could really
> use some sort of workaround in libc++. :-)
Ugh. The problem here is that libc++ checks whether the underlying C standard library implementation has support for C11 as a whole, not on a function-by-function basis. This means that the easiest workaround is to pretend that FreeBSD does NOT support C11 as a whole, but that is going to be a regression from prior releases, which provided a subset of C11 through libc++.
Generally, I think supporting things on a per-platform basis like this is a bad idea because it becomes a complete maze. Perhaps the current situation justifies a workaround, perhaps only targeted to the LLVM 7 branch. Marshall, what’s your opinion?
Louis
>
> -Dimitry
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
More information about the cfe-dev
mailing list