Please merge https://github.com/llvm/llvm-project/commit/52e9d80d5db20f23979e409f958736d130387f9e into 12.0.1. This enables libc++'s <fstream> to be used with gcc, which will otherwise complain with "function body not available" (which is, admittedly, a rather obscure error): In file included from /workspace/src/contrib/llvm-project/libcxx/src/filesystem/operations.cpp:39: /workspace/src/contrib/llvm-project/libcxx/include/fstream: In function 'bool std::__1::__fs::filesystem::detail::{anonymous}::copy_file_impl(std::__1::__fs::filesystem::detail::{anonymous}::FileDescriptor&, std::__1::__fs::filesystem::detail::{anonymous}::FileDescriptor&, std::__1::error_code&)': /workspace/src/contrib/llvm-project/libcxx/include/fstream:1329:6: error: inlining failed in call to always_inline 'void std::__1::basic_ifstream<_CharT, _Traits>::__open(int, std::__1::ios_base::openmode) [with _CharT = char; _Traits = std::__1::char_traits<char>]': function body not available 1329 | void basic_ifstream<_CharT, _Traits>::__open(int __fd, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /workspace/src/contrib/llvm-project/libcxx/src/filesystem/operations.cpp:778:14: note: called from here 778 | in.__open(read_fd.fd, ios::binary); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
https://reviews.llvm.org/D104456
Merged: 0680e2b5a118