| // RUN: %clang_cc1 -fmodules -verify %s | 
 | // RUN: %clang_cc1 -fmodules -std=c++26 -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]) {} |