diff options
author | Lang Hames <lhames@gmail.com> | 2018-04-12 19:54:41 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-04-12 19:54:41 +0000 |
commit | e7c4502a87d8bea38c620b2ea4275c76ec2851b0 (patch) | |
tree | eee9432fc038a8088c80f8bf7cc4d30c7b9bca8d | |
parent | 85fc4c327a438e43283b6f77fce37518dfb26097 (diff) | |
download | bcm5719-llvm-e7c4502a87d8bea38c620b2ea4275c76ec2851b0.tar.gz bcm5719-llvm-e7c4502a87d8bea38c620b2ea4275c76ec2851b0.zip |
[ORC] Use insert rather than emplace.
Hopefully this will fix the build failure at
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/9028
llvm-svn: 329944
-rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/Core.h | 4 | ||||
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/Core.cpp | 38 |
2 files changed, 21 insertions, 21 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/Core.h b/llvm/include/llvm/ExecutionEngine/Orc/Core.h index 0000a9a2ba1..6d58d10a3d1 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/Core.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/Core.h @@ -352,8 +352,8 @@ private: SymbolTableEntry(JITSymbolFlags SymbolFlags, UnmaterializedInfoIterator UnmaterializedInfoItr); SymbolTableEntry(JITEvaluatedSymbol Sym); - // SymbolTableEntry(SymbolTableEntry &&Other); - // SymbolTableEntry &operator=(SymbolTableEntry &&Other); + SymbolTableEntry(SymbolTableEntry &&Other); + SymbolTableEntry &operator=(SymbolTableEntry &&Other); ~SymbolTableEntry(); // Change definition due to override. Only usable prior to materialization. diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp index bff83f5bf5c..c9f0a14abe5 100644 --- a/llvm/lib/ExecutionEngine/Orc/Core.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp @@ -178,24 +178,24 @@ VSO::SymbolTableEntry::SymbolTableEntry(JITEvaluatedSymbol Sym) "This constructor is for final symbols only"); } -// VSO::SymbolTableEntry::SymbolTableEntry(SymbolTableEntry &&Other) -// : Flags(Other.Flags), Address(0) { -// if (this->Flags.isLazy()) -// UMII = std::move(Other.UMII); -// else -// Address = Other.Address; -// } - -// VSO::SymbolTableEntry &VSO::SymbolTableEntry:: -// operator=(SymbolTableEntry &&Other) { -// destroy(); -// Flags = std::move(Other.Flags); -// if (Other.Flags.isLazy()) { -// UMII = std::move(Other.UMII); -// } else -// Address = Other.Address; -// return *this; -// } +VSO::SymbolTableEntry::SymbolTableEntry(SymbolTableEntry &&Other) + : Flags(Other.Flags), Address(0) { + if (this->Flags.isLazy()) + UMII = std::move(Other.UMII); + else + Address = Other.Address; +} + +VSO::SymbolTableEntry &VSO::SymbolTableEntry:: +operator=(SymbolTableEntry &&Other) { + destroy(); + Flags = std::move(Other.Flags); + if (Other.Flags.isLazy()) { + UMII = std::move(Other.UMII); + } else + Address = Other.Address; + return *this; +} VSO::SymbolTableEntry::~SymbolTableEntry() { destroy(); } @@ -364,7 +364,7 @@ Error VSO::defineLazy(std::unique_ptr<MaterializationUnit> MU) { if (I != Symbols.end()) I->second.replaceWith(*this, KV.first, KV.second, UMII); else - Symbols.emplace( + Symbols.insert( std::make_pair(KV.first, SymbolTableEntry(KV.second, UMII))); } |