Mercurial > hg > CbC > CbC_llvm
comparison clang/test/Analysis/rvo.cpp @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 // RUN: %clang_analyze_cc1 -analyzer-checker core,cplusplus -std=c++14 \ | |
2 // RUN: -analyzer-checker debug.ExprInspection -verify %s | |
3 | |
4 void clang_analyzer_eval(bool); | |
5 | |
6 struct A { | |
7 int x; | |
8 }; | |
9 | |
10 A getA(); | |
11 | |
12 struct B { | |
13 int *p; | |
14 A a; | |
15 | |
16 B(int *p) : p(p), a(getA()) {} | |
17 }; | |
18 | |
19 void foo() { | |
20 B b1(nullptr); | |
21 clang_analyzer_eval(b1.p == nullptr); // expected-warning{{TRUE}} | |
22 B b2(new int); // No leak yet! | |
23 clang_analyzer_eval(b2.p == nullptr); // expected-warning{{FALSE}} | |
24 // expected-warning@-1{{Potential leak of memory pointed to by 'b2.p'}} | |
25 } |