[llvm] r234331 - Workaround continued bot failures with MDTupleTypedArrayWrapper

Duncan P. N. Exon Smith dexonsmith at apple.com
Tue Apr 7 10:07:01 PDT 2015


Author: dexonsmith
Date: Tue Apr  7 12:07:01 2015
New Revision: 234331

URL: http://llvm.org/viewvc/llvm-project?rev=234331&view=rev
Log:
Workaround continued bot failures with MDTupleTypedArrayWrapper

Change the explicit constructor to be more specific.  I think this will
get us past the continued bot failures [1] with older clangs.

[1]: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_build/8203

Modified:
    llvm/trunk/include/llvm/IR/Metadata.h

Modified: llvm/trunk/include/llvm/IR/Metadata.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/Metadata.h?rev=234331&r1=234330&r2=234331&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/Metadata.h (original)
+++ llvm/trunk/include/llvm/IR/Metadata.h Tue Apr  7 12:07:01 2015
@@ -1079,10 +1079,10 @@ public:
 
   template <class U>
   explicit MDTupleTypedArrayWrapper(
-      const U &Tuple,
-      typename std::enable_if<
-          std::is_constructible<const MDTuple *, U>::value>::type * = nullptr)
-      : N(Tuple) {}
+      const MDTupleTypedArrayWrapper<U> &Other,
+      typename std::enable_if<!std::is_convertible<U *, T *>::value>::type * =
+          nullptr)
+      : N(Other.get()) {}
 
   explicit operator bool() const { return get(); }
   explicit operator MDTuple *() const { return get(); }





More information about the llvm-commits mailing list