[compiler-rt] [builtins] Fix missing main() function in float16/bfloat16 support checks (PR #104478)

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 12 02:57:01 PDT 2024


mstorsjo wrote:

@petrhosek This issue above, and the issue described at https://github.com/llvm/llvm-project/pull/66584/commits/f12cdda7621789b96b09f9da3ede594deaef6b17#r1559768981, both seem to be caused by compiler-rt building internally for multiple architectures, while the cmake tests only run once. If the tested properties differ between the multiple architectures, like when compiler-rt implicitly builds for both i386 and x86_64 at the same time, this fails, if we e.g. have libunwind in the x86_64 environment but not in the i386 one, or like here, if the x86_64 environment supports `_Float16` but the i386 one doesn't.

The only way around this, as far as I see it, is to move the implicit compiler-rt multiarch support out and do a proper runtime build for each of the architectures, with a separate (nested) cmake invocation and checks.

https://github.com/llvm/llvm-project/pull/104478


More information about the llvm-commits mailing list