[lldb] Fix gcc 5.4.0 compile error

Specify type when constructing PromotionKeys,
this fixes error:
"chosen constructor is explicit in copy-initialization"
when compiling lldb with GCC 5.4.0.

This is due to std::tuple having an explicit
default constructor, see:
http://cplusplus.github.io/LWG/lwg-defects.html#2193

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D86690
This commit is contained in:
David Spickett 2020-08-26 16:25:05 +01:00
parent 469debe027
commit c1e6f1a7b1
1 changed files with 3 additions and 3 deletions

View File

@ -55,9 +55,9 @@ Scalar::PromotionKey Scalar::GetPromoKey() const {
Category cat = GetCategory(m_type);
switch (cat) {
case Category::Void:
return {cat, 0, false};
return PromotionKey{cat, 0, false};
case Category::Integral:
return {cat, m_integer.getBitWidth(), !IsSigned(m_type)};
return PromotionKey{cat, m_integer.getBitWidth(), !IsSigned(m_type)};
case Category::Float:
return GetFloatPromoKey(m_float.getSemantics());
}
@ -70,7 +70,7 @@ Scalar::PromotionKey Scalar::GetFloatPromoKey(const llvm::fltSemantics &sem) {
&APFloat::x87DoubleExtended()};
for (const auto &entry : llvm::enumerate(order)) {
if (entry.value() == &sem)
return {Category::Float, entry.index(), false};
return PromotionKey{Category::Float, entry.index(), false};
}
llvm_unreachable("Unsupported semantics!");
}