[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaCUDA / member-init.cu
bloba796a50e9c8768054a47a0a99fab9ab8d367b75e
1 // RUN: %clang_cc1 -fsyntax-only -verify -fexceptions %s
2 // expected-no-diagnostics
4 #include "Inputs/cuda.h"
6 __device__ void operator delete(void *p) {}
8 class A {
9   int x;
10 public:
11   A() {
12   x = 123;
13   }
16 template<class T>
17 class shared_ptr {
18   T *ptr;
19 public:
20   shared_ptr(T *p) {
21     ptr = p;
22   }
25 // The constructor of B calls the delete operator to clean up
26 // the memory allocated by the new operator when exceptions happen.
27 // Make sure that there are no diagnostics due to the device delete
28 // operator is used.
30 // No need to do similar checks on the device side since it does
31 // not support exception.
32 struct B{
33   shared_ptr<A> pa{new A};
36 int main() {
37   B b;