[test] make_shared<T()>(...) is, uh, libc++-specific
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@303947 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -53,6 +53,16 @@ static void resultDeletor(Result (*pf)()) {
|
|||||||
++resultDeletorCount;
|
++resultDeletorCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test_pointer_to_function() {
|
||||||
|
#ifdef _LIBCPP_VER
|
||||||
|
{ // https://bugs.llvm.org/show_bug.cgi?id=27566
|
||||||
|
std::shared_ptr<Result()> x(&theFunction, &resultDeletor);
|
||||||
|
std::shared_ptr<Result()> y(theFunction, resultDeletor);
|
||||||
|
}
|
||||||
|
assert(resultDeletorCount == 2);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
int nc = globalMemCounter.outstanding_new;
|
int nc = globalMemCounter.outstanding_new;
|
||||||
@@ -72,11 +82,9 @@ int main()
|
|||||||
std::shared_ptr<const Foo> p2 = std::make_shared<const Foo>();
|
std::shared_ptr<const Foo> p2 = std::make_shared<const Foo>();
|
||||||
assert(p2.get());
|
assert(p2.get());
|
||||||
}
|
}
|
||||||
{ // https://bugs.llvm.org/show_bug.cgi?id=27566
|
|
||||||
std::shared_ptr<Result()> x(&theFunction, &resultDeletor);
|
test_pointer_to_function();
|
||||||
std::shared_ptr<Result()> y(theFunction, resultDeletor);
|
|
||||||
}
|
|
||||||
assert(resultDeletorCount == 2);
|
|
||||||
#if TEST_STD_VER >= 11
|
#if TEST_STD_VER >= 11
|
||||||
nc = globalMemCounter.outstanding_new;
|
nc = globalMemCounter.outstanding_new;
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user