brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 0068a4e Raw
37 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8//9 10// UNSUPPORTED: c++0311 12//  Tuples of smart pointers; based on bug #1835013//  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 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 not32    // 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