forked from OSchip/llvm-project
More MSVC bot appeasement. Explicitly define rvalue methods on SortKey.
OwningAtomPtr does not have OwningAtomPtr(OwningAtomPtr&) or the equivalent operator= as we only want to use rvalue references in it. SortKey didn't like this on MSVC as it was synthesizing SortKey(SortKey&) and trying to use the OwningAtomPtr(OwningAtomPtr&) method which was private an unimplemented. Now we explicitly have the methods on SortKey so hopefully the bot will be happier. llvm-svn: 264077
This commit is contained in:
parent
665d7e3838
commit
1edff82f82
|
@ -39,6 +39,25 @@ public:
|
|||
OwningAtomPtr<DefinedAtom> _atom;
|
||||
const DefinedAtom *_root;
|
||||
uint64_t _override;
|
||||
|
||||
// Note, these are only here to appease MSVC bots which didn't like
|
||||
// the same methods being implemented/deleted in OwningAtomPtr.
|
||||
SortKey(SortKey &&key) : _atom(std::move(key._atom)), _root(key._root),
|
||||
_override(key._override) {
|
||||
key._root = nullptr;
|
||||
}
|
||||
|
||||
SortKey &operator=(SortKey &&key) {
|
||||
_atom = std::move(key._atom);
|
||||
_root = key._root;
|
||||
key._root = nullptr;
|
||||
_override = key._override;
|
||||
return *this;
|
||||
}
|
||||
|
||||
private:
|
||||
SortKey(const SortKey &) = delete;
|
||||
void operator=(const SortKey&) = delete;
|
||||
};
|
||||
|
||||
typedef std::function<bool (const DefinedAtom *left, const DefinedAtom *right,
|
||||
|
|
Loading…
Reference in New Issue