Merge to upstream r225300.
Change-Id: I2b23715db9ac129ff80aa78ad5824db0a4d6fbb3
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is dual licensed under the MIT and the University of Illinois Open
|
||||
// Source Licenses. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <tuple>
|
||||
|
||||
// template <class... Types> class tuple;
|
||||
|
||||
// template <class... Types, class Alloc>
|
||||
// struct uses_allocator<tuple<Types...>, Alloc> : true_type { };
|
||||
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
|
||||
struct A {};
|
||||
|
||||
int main()
|
||||
{
|
||||
{
|
||||
typedef std::tuple<> T;
|
||||
static_assert((std::is_base_of<std::true_type,
|
||||
std::uses_allocator<T, A>>::value), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<int> T;
|
||||
static_assert((std::is_base_of<std::true_type,
|
||||
std::uses_allocator<T, A>>::value), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<char, int> T;
|
||||
static_assert((std::is_base_of<std::true_type,
|
||||
std::uses_allocator<T, A>>::value), "");
|
||||
}
|
||||
{
|
||||
typedef std::tuple<double&, char, int> T;
|
||||
static_assert((std::is_base_of<std::true_type,
|
||||
std::uses_allocator<T, A>>::value), "");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user