reset_self.pass.cpp revision 81f58e5052d3f4631b7b3e5f37df9dd5b51cc926
1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. 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  std::unique_ptr<A> ptr_;
20
21  A() : ptr_(this) {}
22  void reset() { ptr_.reset(); }
23};
24
25int main() { (new A)->reset(); }
26