[llvm] [flang-rt] Optimise ShallowCopy and use it in CopyInAssign (PR #140569)
Michał Górny via llvm-commits
llvm-commits at lists.llvm.org
Sat May 24 08:57:27 PDT 2025
mgorny wrote:
This change seems to have broken building unittests for me:
```
FAILED: flang-rt/unittests/Evaluate/reshape.test
: && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -Wimplicit-fallthrough -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--dependency-file=flang-rt/unittests/Evaluate/CMakeFiles/reshape.test.dir/link.d flang-rt/unittests/Evaluate/CMakeFiles/reshape.test.dir/reshape.cpp.o -o flang-rt/unittests/Evaluate/reshape.test -Wl,-rpath,/var/tmp/portage/llvm-runtimes/flang-rt-21.0.0.9999/work/runtimes_build/flang-rt/lib/Testing:/usr/lib/llvm/21/lib64 flang-rt/lib/Testing/libNonGTestTesting.so flang-rt/lib64/libflang_rt.runtime.a -pthread /usr/lib/llvm/21/lib64/libLLVM.so.21.0git8d374f1f && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: flang-rt/lib64/libflang_rt.runtime.a(derived.cpp.o): in function `Fortran::runtime::Finalize(Fortran::runtime::Descriptor const&, Fortran::runtime::typeInfo::DerivedType const&, Fortran::runtime::Terminator*) [clone .part.0]':
derived.cpp:(.text._ZN7Fortran7runtime8FinalizeERKNS0_10DescriptorERKNS0_8typeInfo11DerivedTypeEPNS0_10TerminatorE.part.0+0x3d0): undefined reference to `void Fortran::runtime::ShallowCopyDiscontiguousToContiguous<char, -1>(Fortran::runtime::Descriptor const&, Fortran::runtime::Descriptor const&)'
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: derived.cpp:(.text._ZN7Fortran7runtime8FinalizeERKNS0_10DescriptorERKNS0_8typeInfo11DerivedTypeEPNS0_10TerminatorE.part.0+0xb88): undefined reference to `void Fortran::runtime::ShallowCopyContiguousToDiscontiguous<char, -1>(Fortran::runtime::Descriptor const&, Fortran::runtime::Descriptor const&)'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
This is Gentoo Linux amd64.
flang-rt is configured as:
```
cmake -G Ninja -DCMAKE_INSTALL_PR
EFIX=/usr -DCMAKE_Fortran_COMPILER_WORKS=TRUE -DLLVM_ENABLE_RUNTIMES=flang-rt -DLLVM_BINARY_DIR=/usr/lib/llvm/21 -DFLANG_RT_INSTALL_RES
OURCE_PATH=/usr/lib/clang/21 -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-gnu -DFLANG_RT_INCLUDE_TESTS=yes -DLLVM_EXTERNAL_LIT=/usr/bin
/lit -DLLVM_LIT_ARGS=-vv;-j;1 -DCMAKE_BUILD_TYPE=RelWithDebInfo /path/to/llvm-project/runtimes
```
https://github.com/llvm/llvm-project/pull/140569
More information about the llvm-commits
mailing list