// RUN: %clang_cc1 -fmodules -verify %s | |
// expected-no-diagnostics | |
#pragma clang module build M | |
module M {} | |
#pragma clang module contents | |
#pragma clang module begin M | |
struct A { | |
A(); | |
~A() { delete p; } // expected-warning {{'delete' applied to a pointer that was allocated with 'new[]'}} | |
int *p; | |
}; | |
inline A::A() : p(new int[32]) {} // expected-note {{allocated}} | |
struct B { | |
B(); | |
~B() { delete p; } | |
int *p; | |
}; | |
#pragma clang module end | |
#pragma clang module endbuild | |
#pragma clang module import M | |
B::B() : p(new int[32]) {} |