1// { dg-options "-std=gnu++11" } 2// { dg-do compile } 3 4// Copyright (C) 2007-2015 Free Software Foundation, Inc. 5// 6// This file is part of the GNU ISO C++ Library. This library is free 7// software; you can redistribute it and/or modify it under the 8// terms of the GNU General Public License as published by the 9// Free Software Foundation; either version 3, or (at your option) 10// any later version. 11 12// This library is distributed in the hope that it will be useful, 13// but WITHOUT ANY WARRANTY; without even the implied warranty of 14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15// GNU General Public License for more details. 16 17// You should have received a copy of the GNU General Public License along 18// with this library; see the file COPYING3. If not see 19// <http://www.gnu.org/licenses/>. 20 21// 20.6.6.2 Template class shared_ptr [util.smartptr.shared] 22 23#include <memory> 24#include <new> 25#include <testsuite_hooks.h> 26 27struct A 28{ 29 void* operator new(size_t n) { return new char[sizeof(A)]; } 30 void operator delete(void* p, size_t) { delete (char*)p; } 31}; 32 33// 20.6.6.2.6 shared_ptr creation [util.smartptr.shared.create] 34 35void 36test01() 37{ 38 bool test __attribute__((unused)) = true; 39 40 std::shared_ptr<A> p = std::make_shared<A>(); 41} 42 43int 44main() 45{ 46 test01(); 47 return 0; 48} 49