1 //===----------------------------------------------------------------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 10 // UNSUPPORTED: c++03 11 12 // Tuples of smart pointers; based on bug #18350 13 // auto_ptr doesn't have a copy constructor that takes a const &, but tuple does. 14 15 #include <tuple> 16 #include <memory> 17 18 #include "test_macros.h" 19 main(int,char **)20int main(int, char**) { 21 { 22 std::tuple<std::unique_ptr<char>> up; 23 std::tuple<std::shared_ptr<char>> sp; 24 std::tuple<std::weak_ptr <char>> wp; 25 } 26 { 27 std::tuple<std::unique_ptr<char[]>> up; 28 std::tuple<std::shared_ptr<char[]>> sp; 29 std::tuple<std::weak_ptr <char[]>> wp; 30 } 31 // Smart pointers of type 'T[N]' are not tested here since they are not 32 // supported by the standard nor by libc++'s implementation. 33 // See https://reviews.llvm.org/D21320 for more information. 34 35 return 0; 36 } 37