Re: head -r320458 (e.g.) amd64 -> powerpc (32-bit) cross-buildworld fails for time libc++ static_asserts and overflow/underflow of long long (system clang/clang++ 4 based build)

From: Mark Millard <markmi_at_dsl-only.net>
Date: Thu, 29 Jun 2017 10:33:09 -0700
[Good news from the llvm side of things. . .]

On 2017-Jun-29, at 3:47 AM, Dimitry Andric <dim at FreeBSD.org> wrote:

> On 29 Jun 2017, at 12:04, Mark Millard <markmi at dsl-only.net> wrote:
>> 
>> [The libc++ code in question appears to not be ready for
>> 32-bit contexts with 64 bit times. Disable
>> experimental/filesystem for now? I've submitted
>> llvm bugzilla 33638 for the issue and have
>> added it to llvm's 25780, the FreeBSD META for
>> clang.]
> 
> Yes, this also broke earlier on arm and mips, which is why there is the
> following in lib/Makefile:
> 
> .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
> _libcplusplus+= libc++experimental
> .endif
> 
> I haven't yet found the time to address this issue.  Upstream should
> already be aware of it, though.
> 
> One nasty problem with this is that it is not possible to figure out at
> compile time what the size of time_t is.  You always need some sort of
> configure-time test, and an external define.

I got a notice of a pending patch for the issue:

Begin forwarded message:

From: bugzilla-daemon at llvm.org
Subject: [Bug 33638] FreeBSD head -r320347 moved TARGET_ARCH=powerpc to 64-bit time_t but now experimental/filesystem/operations.cpp fails static_asserts and such
Date: June 29, 2017 at 10:23:56 AM PDT
. . .
Comment # 2 on bug 33638 from Eric Fiselier
I have a patch for this waiting in the wings. I should be able to get to it
next week


===
Mark Millard
markmi at dsl-only.net
Received on Thu Jun 29 2017 - 15:33:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:12 UTC