bfa9ab8183e2fdc74f8633d758cb0c6201314320 |
|
25-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Replace "-analyzer-ipa" with "-analyzer-config ipa". The idea is to eventually place all analyzer options under "analyzer-config". In addition, this lays the ground for introduction of a high-level analyzer mode option, which will influence the default setting for IPAMode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
3719ed248b7b7e239b1b435dd569b007aaea9d26 |
|
31-Oct-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer]Don't invalidate const arguments when there is no IdentifierInfo. Ee: C++ copy constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
de5277fc555551857602bd7a7e5e616274e2d4a6 |
|
31-Aug-2012 |
Jordan Rose <jordan_rose@apple.com> |
[analyzer] Though C++ inlining is enabled, don't inline ctors and dtors. More generally, this adds a new configuration option 'c++-inlining', which controls which C++ member functions can be considered for inlining. This uses the new -analyzer-config table, so the cc1 arguments will look like this: ... -analyzer-config c++-inlining=[none|methods|constructors|destructors] Note that each mode implies that all the previous member function kinds will be inlined as well; it doesn't make sense to inline destructors without inlining constructors, for example. The default mode is 'methods'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
c210cb7a358d14cdd93b58562f33ff5ed2d895c1 |
|
27-Aug-2012 |
Jordan Rose <jordan_rose@apple.com> |
[analyzer] Inline constructors for any object with a trivial destructor. This allows us to better reason about status objects, like Clang's own llvm::Optional (when its contents are trivially destructible), which are often intended to be passed around by value. We still don't inline constructors for temporaries in the general case. <rdar://problem/11986434> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
7f660857309a14c036a80ef90b40bf8f68fda9da |
|
15-Aug-2012 |
Jordan Rose <jordan_rose@apple.com> |
[analyzer] If we call a C++ method on an object, assume it's non-null. This is analogous to our handling of pointer dereferences: if we dereference a pointer that may or may not be null, we assume it's non-null from then on. While some implementations of C++ (including ours) allow you to call a non-virtual method through a null pointer of object type, it is technically disallowed by the C++ standard, and should not prune out any real paths in practice. [class.mfct.non-static]p1: A non-static member function may be called for an object of its class type, or for an object of a class derived from its class type... (a null pointer value does not refer to an object) We can also make the same assumption about function pointers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
43d9f0d4e9b88dcab473a359a7b5579c2a619b22 |
|
16-May-2012 |
Jordy Rose <jediknil@belkadan.com> |
[analyzer] Convert many existing tests to use clang_analyzer_eval. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@156920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
c4d2c9074be6eb2091086eddd6c8f052f3b245c8 |
|
28-Feb-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[analyzer] Remove '-analyzer-check-objc-mem' flag, the nominee for best misnomer award. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
b76fdf69df5f35c3af9ebe3afc72b0d3c9bf76e7 |
|
19-Feb-2011 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
[analyzer] Disable a test until inlining CXXConstructExprs is fully investigated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
05e539175d9bac678fca8e77665e88b685729850 |
|
22-Dec-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
After inlining the CXXConstructExpr, bind the temporary object region to it. This change is necessary when the variable is a const reference and we need the l-value of the construct expr. After that, when binding the variable, recover the lazy compound value when the variable is not a reference. In Environment, use the value of a no-op cast expression when it has one. Otherwise, blast-through it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
892697dd2287caf7c29aaaa82909b0e90b8b63fe |
|
16-Dec-2010 |
Ted Kremenek <kremenek@apple.com> |
Start migration of static analyzer to using the implicit lvalue-to-rvalue casts that John McCall recently introduced. This causes a whole bunch of logic in the analyzer for handling lvalues to vanish. It does, however, raise a few issues in the analyzer w.r.t to modeling various constructs (e.g., field accesses to compound literals). The .c/.m analysis test cases that fail are due to a missing lvalue-to-rvalue cast that will get introduced into the AST. The .cpp failures were more than I could investigate in one go, and the patch was already getting huge. I have XFAILED some of these tests, and they should obviously be further investigated. Some highlights of this patch include: - CFG no longer requires an lvalue bit for CFGElements - StackFrameContext doesn't need an 'asLValue' flag - The "VisitLValue" path from GRExprEngine has been eliminated. Besides the test case failures (XFAILed), there are surely other bugs that are fallout from this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
0e38d5d6775a26f8f39df353e34b0dc14c2d6cfc |
|
25-Nov-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
handle CXXFunctionalCastExpr in visitLValue and Environment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
32303020d0f1a21cbcab65ae0c69a4218dc8f0fb |
|
24-Nov-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
When getting CXXThisRegion from CXXMethodDecl, use the qualifiers. This is to be consistent with the type of 'this' expr in the method. 此行及以下内容将会被忽略-- M test/Analysis/method-call.cpp M include/clang/Checker/PathSensitive/GRExprEngine.h M lib/Checker/GRCXXExprEngine.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
7ce351db56fbce162a3b650518ce05b5c61ebf36 |
|
01-Nov-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
Now initializer of C++ record type is visited as block-level expr. Let the destination of AggExprVisitor be an explicit MemRegion. Reenable the test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
81bc7d07b701042371a5723b6f394cd2482ed7be |
|
01-Nov-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
Make all CXXConstructExpr's block-level expressions. This is required by method inlining. Temporarily fail a test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117907 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
7b99d12b4ca67fccdf5090761ba257732e954e75 |
|
06-May-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
Make -analyzer-inline-call not a separate analysis. Instead it's a boolean flag now, and can be used with other analyses. Only turned it on for C++ methods for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@103160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|
40ab43b29bff9a240e5281e5952f59ddee623fca |
|
20-Apr-2010 |
Zhongxing Xu <xuzhongxing@gmail.com> |
Add test cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/Analysis/method-call.cpp
|