1e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot//===----------------------------------------------------------------------===// 2e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// 3e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// The LLVM Compiler Infrastructure 4e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// 5e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// This file is dual licensed under the MIT and the University of Illinois Open 6e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// Source Licenses. See LICENSE.TXT for details. 7e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// 8e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot//===----------------------------------------------------------------------===// 9e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 10e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// <memory> 11e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 12e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// template <class X> class auto_ptr; 13e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 14e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// template<class Y> operator auto_ptr<Y>() throw(); 15e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 16e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot// REQUIRES: c++98 || c++03 || c++11 || c++14 17e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 18e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot#include <memory> 19e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot#include <cassert> 20e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 21e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot#include "../AB.h" 22e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 23e779e31468999c7ef69f424a2b8271969833df2android-build-team Robotstd::auto_ptr<B> 24e779e31468999c7ef69f424a2b8271969833df2android-build-team Robotsource() 25e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot{ 26e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot return std::auto_ptr<B>(new B(1)); 27e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot} 28e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 29e779e31468999c7ef69f424a2b8271969833df2android-build-team Robotvoid 30e779e31468999c7ef69f424a2b8271969833df2android-build-team Robottest() 31e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot{ 32e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot std::auto_ptr<A> ap2(source()); 33e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot} 34e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot 35e779e31468999c7ef69f424a2b8271969833df2android-build-team Robotint main() 36e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot{ 37e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot test(); 38e779e31468999c7ef69f424a2b8271969833df2android-build-team Robot} 39