U_V.pass.cpp revision c52f43e72dfcea03037729649da84c23b3beb04a
1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)//===----------------------------------------------------------------------===//
2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)//
3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)//                     The LLVM Compiler Infrastructure
4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)//
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// This file is distributed under the University of Illinois Open Source
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// License. See LICENSE.TXT for details.
7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)//
8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)//===----------------------------------------------------------------------===//
9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// <utility>
11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// template <class T1, class T2> struct pair
136d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)
14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// template<class U, class V> pair(U&& x, V&& y);
15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include <utility>
17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include <memory>
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include <cassert>
19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)int main()
21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles){
22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifdef _LIBCPP_MOVE
23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        typedef std::pair<std::unique_ptr<int>, short*> P;
25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        P p(std::unique_ptr<int>(new int(3)), nullptr);
26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        assert(*p.first == 3);
27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        assert(p.second == nullptr);
28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    }
29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif  // _LIBCPP_MOVE
30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}
31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)