From ece57ddd567966248231cc5519816b42bd99bd7d Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Sat, 23 Apr 2016 21:23:41 +0000 Subject: [PATCH] BitcodeReader: Avoid non-moving std::piecewise_construct from r267296 Not exactly sure why the host tries to use a copy constructor here, but it's easy enough to work around it. http://lab.llvm.org:8011/builders/lldb-amd64-ninja-freebsd11/builds/6227 llvm-svn: 267298 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index ecd05c245d7d..dc8a904921d4 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -1215,9 +1215,9 @@ Metadata *BitcodeReaderMetadataList::upgradeTypeRefArray(Metadata *MaybeTuple) { // Create and return a placeholder to use for now. Eventually // resolveTypeRefArrays() will be resolve this forward reference. - OldTypeRefs.Arrays.emplace_back( - std::piecewise_construct, std::make_tuple(Tuple), - std::make_tuple(MDTuple::getTemporary(Context, None))); + OldTypeRefs.Arrays.emplace_back(); + OldTypeRefs.Arrays.back().first.reset(Tuple); + OldTypeRefs.Arrays.back().second = MDTuple::getTemporary(Context, None); return OldTypeRefs.Arrays.back().second.get(); }