Fix compiler error in Attributes.cpp
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>
Wed, 12 Apr 2017 23:57:37 +0000 (23:57 +0000)
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>
Wed, 12 Apr 2017 23:57:37 +0000 (23:57 +0000)
```
Compiling Attributes.cpp ...
../../../Attributes.cpp: In member function 'std::__1::pair<unsigned int, llvm::Optional<unsigned int> > llvm::AttributeSet::getAllocSizeArgs() const':
../../../Attributes.cpp:542:69: error: operands to ?: have different types 'std::__1::pair<unsigned int, llvm::Optional<unsigned int> >' and 'std::__1::pair<int, int>'
   return SetNode ? SetNode->getAllocSizeArgs() : std::make_pair(0, 0);
                                                                     ^
../../../Attributes.cpp:543:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
```

Differential Revision: https://reviews.llvm.org/D31981

llvm-svn: 300143

llvm/lib/IR/Attributes.cpp

index a62afe9..7faac60 100644 (file)
@@ -539,7 +539,8 @@ uint64_t AttributeSet::getDereferenceableOrNullBytes() const {
 }
 
 std::pair<unsigned, Optional<unsigned>> AttributeSet::getAllocSizeArgs() const {
-  return SetNode ? SetNode->getAllocSizeArgs() : std::make_pair(0, 0);
+  return SetNode ? SetNode->getAllocSizeArgs()
+                 : std::pair<unsigned, Optional<unsigned>>(0, 0);
 }
 
 std::string AttributeSet::getAsString(bool InAttrGrp) const {