reset_self.pass.cpp revision c52f43e72dfcea03037729649da84c23b3beb04a
1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <memory>
11
12// unique_ptr
13
14// test reset against resetting self
15
16#include <memory>
17
18struct A
19{
20    std::unique_ptr<A> ptr_;
21
22    A() : ptr_(this) {}
23    void reset() {ptr_.reset();}
24};
25
26int main()
27{
28    (new A)->reset();
29}
30