llvm-project/clang/test/Analysis/Inputs/overloaded-delete-in-header.h
Baghirov Feyruz f0c90dfcd8
Rename 'free' in warning messages to 'release' (#150935)
Changed the warning message:

- **From**: 'Attempt to free released memory'
   **To**: 'Attempt to release already released memory'
- **From**: 'Attempt to free non-owned memory'
   **To**: 'Attempt to release non-owned memory'
- **From**: 'Use of memory after it is freed' 
   **To**: 'Use of memory after it is released'

All connected tests and their expectations have been changed
accordingly.

Inspired by [this
PR](https://github.com/llvm/llvm-project/pull/147542#discussion_r2195197922)
2025-07-28 18:02:56 +02:00

19 lines
474 B
C

#ifndef OVERLOADED_DELETE_IN_HEADER
#define OVERLOADED_DELETE_IN_HEADER
struct DeleteInHeader {
int data;
static void operator delete(void *ptr);
};
void DeleteInHeader::operator delete(void *ptr) {
DeleteInHeader *self = (DeleteInHeader *)ptr;
self->data = 1; // no-warning: Still alive.
::operator delete(ptr);
self->data = 2; // expected-warning {{Use of memory after it is released [cplusplus.NewDelete]}}
}
#endif // OVERLOADED_DELETE_IN_SYSTEM_HEADER