Re: armv7 targeting (on aarch64, via poudriere-devel): system's clang 13 rejected building devel/lllvm13
- Reply: Mark Millard via freebsd-toolchain : "Re: armv7 targeting (on aarch64, via poudriere-devel): system's clang 13 rejected building devel/lllvm13"
- In reply to: Mark Millard via arm : "armv7 targeting (on aarch64, via poudriere-devel): system's clang 13 rejected building devel/lllvm13"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 15 Nov 2021 18:40:58 UTC
On 15 Nov 2021, at 19:14, Mark Millard via arm <arm@freebsd.org> wrote:
>
> There error was:
>
> error: non-constant-expression cannot be narrowed from type 'long long' to 'std::size_t' (aka 'unsi
> gned int') in initializer list [-Wc++11-narrowing]
> std::size_t resultBytes{size * elementBytes};
> ^~~~~~~~~~~~~~~~~~~
> /wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.0.src/flang/runtime/misc-intrinsic.cpp:50:27: note: insert an explicit cast to silence this issue
> std::size_t resultBytes{size * elementBytes};
> ^~~~~~~~~~~~~~~~~~~
> static_cast<size_t>( )
The flang subproject does quite a lot of mixing of size_t and uint64_t, assuming in various places that they are the same. You will also encounter similar errors when attempting to build it for e.g. i386, or other 32 bit architectures. I think it is quite a lot of work to get all of these right, and it should really be discussed upstream.
So for now, I would advise to only turn on the flang option for amd64 by default.
-Dimitry