mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 02:52:53 +02:00
Attempt to unbreak buidlbot lld-x86_64-darwin13 after r342555.
The reason why build #25777 might have failed is because the SmallVector move constructor is _not_ noexcept, and the stl implementation used by that buildbot calls _VSTD::move_if_noexcept() (according to the backtrace). OpcodeInfo has a default move constructor, and the copy constructor is deleted. However, as far as I can see, SmallVector doesn't declare a noexcept move constructor. So, what I believe it is happening here is that, _VSTD::move_if_noexcept() returns an lvalue reference and not an rvalue reference. This eventually triggers a copy that fails to compile. Hopefully, using a std::vector instead of SmallVector (as it was originally suggested by Simon in the code review) should be enough to unbreak the buildbot. llvm-svn: 342561
This commit is contained in:
parent
9b9b32a724
commit
d69af04f28
@ -322,7 +322,7 @@ struct PredicateInfo {
|
||||
/// There is at least one OpcodeInfo object for every opcode specified by a
|
||||
/// TIPredicate definition.
|
||||
class OpcodeInfo {
|
||||
llvm::SmallVector<PredicateInfo, 8> Predicates;
|
||||
std::vector<PredicateInfo> Predicates;
|
||||
|
||||
OpcodeInfo(const OpcodeInfo &Other) = delete;
|
||||
OpcodeInfo &operator=(const OpcodeInfo &Other) = delete;
|
||||
|
Loading…
Reference in New Issue
Block a user