summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/dangling-internal-buffer.cpp
diff options
context:
space:
mode:
authorReka Kovacs <rekanikolett@gmail.com>2018-07-07 17:22:45 +0000
committerReka Kovacs <rekanikolett@gmail.com>2018-07-07 17:22:45 +0000
commit8707cd1d1badd43f3380de6ff6ecee7fab155179 (patch)
tree38fd31209bcb6aa0c2bcbe149e94694760494438 /clang/test/Analysis/dangling-internal-buffer.cpp
parent218da62091363ebafb799a99d2ef378cf98c6bd7 (diff)
downloadbcm5719-llvm-8707cd1d1badd43f3380de6ff6ecee7fab155179.tar.gz
bcm5719-llvm-8707cd1d1badd43f3380de6ff6ecee7fab155179.zip
[analyzer] Highlight container object destruction in MallocChecker.
Extend MallocBugVisitor to place a note at the point where objects with AF_InternalBuffer allocation family are destroyed. Differential Revision: https://reviews.llvm.org/D48521 llvm-svn: 336489
Diffstat (limited to 'clang/test/Analysis/dangling-internal-buffer.cpp')
-rw-r--r--clang/test/Analysis/dangling-internal-buffer.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/test/Analysis/dangling-internal-buffer.cpp b/clang/test/Analysis/dangling-internal-buffer.cpp
index 791bb960477..cd7ebb17c66 100644
--- a/clang/test/Analysis/dangling-internal-buffer.cpp
+++ b/clang/test/Analysis/dangling-internal-buffer.cpp
@@ -26,7 +26,7 @@ void deref_after_scope_char() {
{
std::string s;
c = s.c_str();
- }
+ } // expected-note {{Internal buffer is released because the object was destroyed}}
consume(c); // expected-warning {{Use of memory after it is freed}}
// expected-note@-1 {{Use of memory after it is freed}}
}
@@ -36,7 +36,7 @@ void deref_after_scope_wchar_t() {
{
std::wstring ws;
w = ws.c_str();
- }
+ } // expected-note {{Internal buffer is released because the object was destroyed}}
consume(w); // expected-warning {{Use of memory after it is freed}}
// expected-note@-1 {{Use of memory after it is freed}}
}
@@ -46,7 +46,7 @@ void deref_after_scope_char16_t() {
{
std::u16string s16;
c16 = s16.c_str();
- }
+ } // expected-note {{Internal buffer is released because the object was destroyed}}
consume(c16); // expected-warning {{Use of memory after it is freed}}
// expected-note@-1 {{Use of memory after it is freed}}
}
@@ -56,7 +56,7 @@ void deref_after_scope_char32_t() {
{
std::u32string s32;
c32 = s32.c_str();
- }
+ } // expected-note {{Internal buffer is released because the object was destroyed}}
consume(c32); // expected-warning {{Use of memory after it is freed}}
// expected-note@-1 {{Use of memory after it is freed}}
}
OpenPOWER on IntegriCloud