Hi there!
These are legitimate regressions: the code compiled to bogus BIND(C) ABI that only worked when using with Fortran to Fortran. A TODO is now correctly emitted until the proper ABI is implemented.
In Fujitsu-Fortran-0379_0074
``` function strfunc() bind(C) type,bind(C) :: str integer :: iii end type type(str) :: strfunc end function end interface type,bind(C) :: str integer :: iii end type ````
Previously, the result was passed in as a hidden extra argument, like it is done in normal Fortran ABI. On ARM, the equivalent C code is returned in registered as far as I can see: https://godbolt.org/z/nec6jbhYM
0384_0028.f90 also has BIND(C) function returning such BIND(C) types.
So, both tests should not be run on ARM, or should expect a TODO error message until the feature is implemented on ARM.
Jean
-----Original Message----- From: ci_notify@linaro.org ci_notify@linaro.org Sent: Monday, October 14, 2024 11:23 PM To: ohno.yasuyuki@fujitsu.com; itou.tetsuya@fujitsu.com; t-kawashima@fujitsu.com Cc: maxim.kuvyrkov@linaro.org; Jean Perier jperier@nvidia.com Subject: [Linaro-TCWG-CI] llvmorg-20-init-8878-g367c3c968eb8: FAIL: 2 regressions on aarch64
External email: Use caution opening links or attachments
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
We understand that it might be difficult to find the necessary logs or reproduce the issue locally. If you can't get what you need from our CI within minutes, let us know and we will be happy to help.
We track this report status in https://linaro.atlassian.net/browse/LLVM-1398 , please let us know if you are looking at the problem and/or when you have a fix.
In CI config tcwg_flang_test/main-aarch64-Ofast-sve_vls-lto-lld after:
| commit llvmorg-20-init-8878-g367c3c968eb8 | Author: jeanPerier jperier@nvidia.com | Date: Mon Oct 14 09:35:29 2024 +0200 | | [flang] correctly deal with bind(c) derived type result ABI (#111969) | | Derived type results of BIND(C) function should be returned according | the the C ABI for returning the related C struct type. | | ... 15 lines of the commit log omitted.
FAIL: 2 regressions The configuration of this build is: * Toolchain : cmake -G Ninja ../llvm/llvm "-DLLVM_ENABLE_PROJECTS=clang;lld;flang;openmp;clang-tools-extra" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=True -DCMAKE_INSTALL_PREFIX=../llvm-install "-DLLVM_TARGETS_TO_BUILD=AArch64" -DCLANG_DEFAULT_LINKER=lld * Testsuite : cmake -GNinja -DCMAKE_C_COMPILER="$WORKSPACE/llvm-install/bin/clang" -DCMAKE_CXX_COMPILER="$WORKSPACE/llvm-install/bin/clang++" -DCMAKE_Fortran_COMPILER="$WORKSPACE/llvm-install/bin/flang-new" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS= -DCMAKE_CXX_FLAGS= -DCMAKE_Fortran_FLAGS= -DCMAKE_C_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_CXX_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DCMAKE_Fortran_FLAGS_RELEASE="-O3 -ffast-math -march=armv8.4-a+sve -msve-vector-bits=256 -mllvm -treat-scalable-fixed-error-as-warning=false -flto -DNDEBUG" -DTEST_SUITE_FORTRAN=ON -DTEST_SUITE_SUBDIRS=Fujitsu "$WORKSPACE/test/test-suite"
regressions.sum: | === test-suite tests === | | Running test-suite:Fujitsu/Fortran/0379 ... | NOEXE: test-suite :: Fujitsu/Fortran/0379/Fujitsu-Fortran-0379_0074.test | | Running test-suite:Fujitsu/Fortran/0384 ... | NOEXE: test-suite :: Fujitsu/Fortran/0384/Fujitsu-Fortran-0384_0028.test | | # "NOEXE" means : the test program cannot be compiled
You can find the failure logs in *.log.1.xz files in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... The full lists of regressions and improvements as well as configure and make commands are in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... The list of [ignored] baseline and flaky failures are in * https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll... Reference build : https://ci.linaro.org/job/tcwg_flang_test--main-aarch64-Ofast-sve_vls-lto-ll...
Fujitsu testsuite : https://github.com/fujitsu/compiler-test-suite/
Instruction to reproduce the build : https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/llvm/sh...
Full commit : https://github.com/llvm/llvm-project/commit/367c3c968eb8f29b55fb8019b2464c7f...