DavidSpickett created this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
DavidSpickett requested review of this revision.
Herald added a subscriber: JDevlieghere.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86690

Files:
  lldb/source/Utility/Scalar.cpp


Index: lldb/source/Utility/Scalar.cpp
===================================================================
--- lldb/source/Utility/Scalar.cpp
+++ lldb/source/Utility/Scalar.cpp
@@ -55,9 +55,9 @@
   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 @@
       &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!");
 }


Index: lldb/source/Utility/Scalar.cpp
===================================================================
--- lldb/source/Utility/Scalar.cpp
+++ lldb/source/Utility/Scalar.cpp
@@ -55,9 +55,9 @@
   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 @@
       &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!");
 }
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to