Date: Mon, 15 Nov 2021 11:40:49 -0800 From: Mark Millard via freebsd-toolchain <freebsd-toolchain@freebsd.org> To: Dimitry Andric <dim@FreeBSD.org> Cc: "brooks@freebsd.org" <brooks@FreeBSD.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, freebsd-ports@freebsd.org, "freebsd-arm@freebsd.org" <arm@freebsd.org> Subject: Re: armv7 targeting (on aarch64, via poudriere-devel): system's clang 13 rejected building devel/lllvm13 Message-ID: <DA43AD8B-EBB7-45FE-BB26-39E8158A33BA@yahoo.com> In-Reply-To: <3F3F1A2B-87E2-47CA-A9C6-BC65B71F1DE7@yahoo.com> References: <15A74B79-47CF-4743-A831-D7C0E9B1DD0E@yahoo.com> <91AD337B-6D40-4639-A43C-688699981167@FreeBSD.org> <3F3F1A2B-87E2-47CA-A9C6-BC65B71F1DE7@yahoo.com>
index | next in thread | previous in thread | raw e-mail
On 2021-Nov-15, at 11:35, Mark Millard <marklmi@yahoo.com> wrote:
> On 2021-Nov-15, at 10:40, Dimitry Andric <dim@FreeBSD.org> wrote:
>
>> 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.
>
> flang was not being built:
>
> # more /usr/local/etc/poudriere.d/options/devel_llvm13/options
> # This file is auto-generated by 'make config'.
> # Options for llvm13-13.0.0
> _OPTIONS_READ=llvm13-13.0.0
> _FILE_COMPLETE_OPTIONS_LIST=BE_AMDGPU CLANG DOCS EXTRAS FLANG LIT LLD LLDB MLIR OPENMP PYCLANG BE_FREEBSD BE_NATIVE BE_STANDARD
> OPTIONS_FILE_SET+=BE_AMDGPU
> OPTIONS_FILE_SET+=CLANG
> OPTIONS_FILE_SET+=DOCS
> OPTIONS_FILE_SET+=EXTRAS
> OPTIONS_FILE_UNSET+=FLANG
> OPTIONS_FILE_SET+=LIT
> OPTIONS_FILE_SET+=LLD
> OPTIONS_FILE_SET+=LLDB
> OPTIONS_FILE_SET+=MLIR
> OPTIONS_FILE_UNSET+=OPENMP
> OPTIONS_FILE_UNSET+=PYCLANG
> OPTIONS_FILE_UNSET+=BE_FREEBSD
> OPTIONS_FILE_SET+=BE_NATIVE
> OPTIONS_FILE_UNSET+=BE_STANDARD
>
Hmm. I got that wrong, somehow the above was not used.
From the log file:
---Begin OPTIONS List---
===> The following configuration options are available for llvm13-13.0.0_2:
BE_AMDGPU=on: AMD GPU backend (required by mesa)
CLANG=on: Build clang
DOCS=on: Build and/or install documentation
EXTRAS=on: Extra clang tools
FLANG=on: Flang FORTRAN compiler
LIT=on: Install lit and FileCheck test tools
LLD=on: Install lld, the LLVM linker
LLDB=on: Install lldb, the LLVM debugger
MLIR=on: Multi-Level Intermediate Representation
PYCLANG=on: Install python bindings to libclang
====> Options available for the single BACKENDS: you have to select exactly one of them
BE_FREEBSD=off: Backends for FreeBSD architectures
BE_NATIVE=off: Backend(s) for this architecture (ARM)
BE_STANDARD=on: All non-experimental backends
===> Use 'make config' to modify these settings
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DA43AD8B-EBB7-45FE-BB26-39E8158A33BA>
