176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/test/Analysis/cfg.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/Analysis/cfg.cpp
|
1ae74842cd1be37a8d99d0865623ef16432d3b67 |
|
06-Sep-2013 |
Pavel Labath <labath@google.com> |
Avoid double edges when constructing CFGs Summary: If a noreturn destructor is executed while returning a value from a function, the resulting CFG has had two edges to the exit block. This crashed the analyzer, because it expects that blocks with no terminators have only one outgoing edge. I added code to avoid creating the second edge in this case. PS: The crashes did not manifest themselves always, as usually the NoReturnFunctionChecker would stop program evaluation before the analyzer hit the assertion, but in the case of lifetime extended temporaries, the checker failed to do that (which is a separate bug in itself). Reviewers: jordan_rose CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1513 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|
36d558d85653315edb389677e995ec9ccdbfbf3d |
|
03-Sep-2013 |
Jordan Rose <jordan_rose@apple.com> |
Add an implicit dtor CFG node just before C++ 'delete' expressions. This paves the way for adding support for modeling the destructor of a region before it is deleted. The statement "delete <expr>" now generates this series of CFG elements: 1. <expr> 2. [B1.1]->~Foo() (Implicit destructor) 3. delete [B1.1] Patch by Karthik Bhat! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|
13fca0e165fd9e05bfe7a94005081d09c4025d95 |
|
19-Aug-2013 |
Jordan Rose <jordan_rose@apple.com> |
[analyzer] Add a triple to test/Analysis/cfg.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|
7d0dcd2de023e2667a3f1f14daff9d087fab9bf7 |
|
19-Aug-2013 |
Jordan Rose <jordan_rose@apple.com> |
Omit arguments of __builtin_object_size from the CFG. This builtin does not actually evaluate its arguments for side effects, so we shouldn't include them in the CFG. In the analyzer, rely on the constant expression evaluator to get the proper semantics, at least for now. (In the future, we could get ambitious and try to provide path- sensitive size values.) In theory, this does pose a problem for liveness analysis: a variable can be used within the __builtin_object_size argument expression but not show up as live. However, it is very unlikely that such a value would be used to compute the object size and not used to access the object in some way. <rdar://problem/14760817> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|
2a1551fa14728891bf8e325d3eb686ed404cd8b2 |
|
04-Jun-2013 |
David Majnemer <david.majnemer@gmail.com> |
Analysis: Add a CFG successor to a SwitchStmt if it is both empty and fully covered Consider the case where a SwitchStmt satisfied isAllEnumCasesCovered() as well as having no cases at all (i.e. the enum it covers has no enumerators). In this case, we should add a successor to repair the CFG. This fixes PR16212. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|
2794bc0e3757992194dd587d0f6a253ec72afc9a |
|
04-Jun-2013 |
Jordan Rose <jordan_rose@apple.com> |
CFG: In a DeclStmt, skip anything that's not a VarDecl. Neither the compiler nor the analyzer are doing anything with non-VarDecl decls in the CFG, and having them there creates extra nodes in the analyzer's path diagnostics. Simplify the CFG (and the path edges) by simply leaving them out. We can always add interesting decls back in when they become relevant. Note that this only affects decls declared in a DeclStmt, and then only those that appear within a function body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|
dac62528c1a66db867e21cfa7cfc439d557d6f0c |
|
07-Jan-2013 |
Will Dietz <wdietz2@illinois.edu> |
CFG.cpp: Fix wrapping logic when printing block preds/succs. First check only wrapped with i==8, second wrapped at i==2,8,18,28,... This fix restores the intended behavior: i==8,18,28,... Found with -fsanitize=integer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/cfg.cpp
|