Author: Joseph Huber Date: 2022-06-22T09:39:23-04:00 New Revision: a9fd8b911331dad1b5f94e3aba5ce0927e632ade
URL: https://github.com/llvm/llvm-project/commit/a9fd8b911331dad1b5f94e3aba5ce0927e632ade DIFF: https://github.com/llvm/llvm-project/commit/a9fd8b911331dad1b5f94e3aba5ce0927e632ade.diff LOG: [LinkerWrapper] Fix calls to deleted Error constructor on older compilers Summary: A recent patch added some new code paths to the linker wrapper. Older compilers seem to have problems with returning errors wrapped in an Excepted type without explicitly moving them. This caused failures in some of the buildbots. This patch fixes that. Added: Modified: clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp Removed: ################################################################################ diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp index 75dee95b7030..f21f144fe424 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -1022,7 +1022,7 @@ Expected<std::string> writeOffloadFile(const OffloadFile &File) { if (Error Err = createOutputFile(Prefix + "-" + Binary.getTriple() + "-" + Binary.getArch(), Suffix, TempFile)) - return Err; + return std::move(Err); Expected<std::unique_ptr<FileOutputBuffer>> OutputOrErr = FileOutputBuffer::create(TempFile, Binary.getImage().size()); @@ -1032,7 +1032,7 @@ Expected<std::string> writeOffloadFile(const OffloadFile &File) { std::copy(Binary.getImage().bytes_begin(), Binary.getImage().bytes_end(), Output->getBufferStart()); if (Error E = Output->commit()) - return E; + return std::move(E); return static_cast<std::string>(TempFile); } @@ -1188,7 +1188,7 @@ linkAndWrapDeviceFiles(SmallVectorImpl<OffloadFile> &LinkerInputFiles) { // First link and remove all the input files containing bitcode. SmallVector<std::string> InputFiles; if (Error Err = linkBitcodeFiles(Input, InputFiles, Triple, Arch)) - return Err; + return std::move(Err); // Write any remaining device inputs to an output file for the linker job. for (const OffloadFile &File : Input) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits