- Aug 24, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 162550
-
Ted Kremenek authored
Fixes <rdar://problem/11005770>. llvm-svn: 162545
-
James Dennett authored
isWritten() returns false, if shouldVisitImplicitCode() returns true. Previously those CXXCtorInitializers were always skipped. In order to make this change easier to test, this patch also extends the test class template ExpectedLocationVisitor to support arbitrary numbers of expected matches and disallowed matches. llvm-svn: 162544
-
Ted Kremenek authored
They are labeled as not being enabled-by-default, and how else are users going to test them. Fixes <rdar://problem/11654923> llvm-svn: 162543
-
Daniel Jasper authored
databases. Move JSONCompilationDatabase.h to its own files and register it as plugin. llvm-svn: 162541
-
Daniel Jasper authored
ASTMatchers have the same name as the corresponding AST nodes but are lower case. The only exceptions are the "CXX" prefixes which are not copied over to the matcher names as the goal is to actually remove these prefixes from the AST node names. llvm-svn: 162536
-
Ted Kremenek authored
no clang can be found relative to the location of scan-build. Fixes <rdar://problem/11691794> llvm-svn: 162535
-
Anna Zaks authored
When reallocation of a non-allocated (not owned) symbol fails do not expect it to be freed. llvm-svn: 162533
-
Anna Zaks authored
This code has been added a while ago and removing it does not trigger any test failures. The false positives it was trying to suppress are probably handled by other logic (ex: special handling of delegates). llvm-svn: 162529
-
Anna Zaks authored
(I am not sure if we should move the setters and getters as well and make them into static methods..) llvm-svn: 162528
-
Richard Smith authored
* when checking that a pointer or reference refers to appropriate storage for a type, also check the alignment and perform a null check * check that references are bound to appropriate storage * check that 'this' has appropriate storage in member accesses and member function calls llvm-svn: 162523
-
Alexander Kornienko authored
llvm-svn: 162521
-
Dmitri Gribenko authored
llvm-svn: 162512
-
Dmitri Gribenko authored
llvm-svn: 162511
-
Chad Rosier authored
generate the Input/Output expressions using Sema::ActOnIdExpression(). llvm-svn: 162509
-
Anna Zaks authored
With inlining, retain count checker starts tracking 'self' through the init methods. The analyser results were too noisy if the developer did not follow 'self = [super init]' pattern (which is common especially in older code bases) - we reported self init anti-pattern AND possible use-after-free. This patch teaches the retain count checker to assume that [super init] does not fail when it's not consumed by another expression. This silences the retain count warning that warns about possibility of use-after-free when init fails, while preserving all the other checking on 'self'. llvm-svn: 162508
-
Dmitri Gribenko authored
use \param and \returns in documentation. Fixes PR13533. llvm-svn: 162507
-
Dmitri Gribenko authored
llvm-svn: 162506
-
Benjamin Kramer authored
This required changing all get() calls to data() and using the simpler constructors. llvm-svn: 162501
-
Jordan Rose authored
This is how Xcode lets individual files be marked as non-ARC when the rest of the project is ARC-enabled, so this is necessary for scan-build xcodebuild. Patch by Paul Eipper! llvm-svn: 162497
-
Jordan Rose authored
Until we have full support for pointers-to-members, we can at least approximate some of their use by tracking null and non-null values. We thus treat &A::m_ptr as a non-null void * symbol, and MemberPointer(0) as a pointer-sized null constant. This enables support for what is sometimes called the "safe bool" idiom, demonstrated in the test case. llvm-svn: 162495
-
Jordan Rose authored
This is trivial; the UserDefinedConversion always wraps a CXXMemberCallExpr for the appropriate conversion function, so it's just a matter of propagating that value to the CastExpr itself. llvm-svn: 162494
-
Benjamin Kramer authored
llvm-svn: 162492
-
Dmitri Gribenko authored
not be set for implicit instantiations, remove the FIXME. This should be the last bit for PR13634. The actual fix happened in r162238. Motivation: it might be misleading to mark implicit instantiations as Decl::isImplicit = true. Because then, in order to be consistent, we should mark all instantiated members as implicit. But the user did actually type the declaration for the member, but the compiler played with it a little bit. llvm-svn: 162488
-
- Aug 23, 2012
-
-
Chad Rosier authored
by CodeGen. In the long-term, much of the codegen logic will be shared between the GNU-style and MS-style inline assembly, but for now I'm replicating this logic to avoid regressions with the GNU-style. llvm-svn: 162478
-
Benjamin Kramer authored
These were nops for quite a while and only lead to confusion. ASTMultiPtr now behaves like a proper dumb array reference. llvm-svn: 162475
-
Sean Callanan authored
lookup table as needing to be built. This is required for LLDB, which provides the contents of many DeclContexts through a custom ExternalASTSource. llvm-svn: 162471
-
Ted Kremenek authored
"castAs<...>->doSomething()". The analyzer was flagging these as potential null dereferences, which is technically true. The invariants appear to be that these casts should never fail, so let's use castAs<> instead and avoid a runtime check. llvm-svn: 162468
-
Richard Smith authored
statement starts with an identifier for which name lookup will fail either way, look at later tokens to disambiguate in order to improve error recovery. llvm-svn: 162464
-
Chad Rosier authored
ms-style inline asms. llvm-svn: 162463
-
Jordan Rose authored
A CXXDefaultArgExpr wraps an Expr owned by a ParmVarDecl belonging to the called function. In general, ExprEngine and Environment ought to treat this like a ParenExpr or other transparent wrapper expression, with the inside expression evaluated first. However, if we call the same function twice, we'd produce a CFG that contains the same wrapped expression twice, and we're not set up to handle that. I've added a FIXME to the CFG builder to come back to that, but meanwhile we can at least handle expressions that don't need to be explicitly evaluated: literals. This probably handles many common uses of default parameters: true/false, null, etc. Part of PR13385 / <rdar://problem/12156507> llvm-svn: 162453
-
Dmitri Gribenko authored
llvm-svn: 162452
-
Chad Rosier authored
a gcc warning. llvm-svn: 162444
-
Roman Divacky authored
llvm-svn: 162443
-
David Chisnall authored
Patch by Niels Grewe! llvm-svn: 162441
-
Eli Friedman authored
llvm-svn: 162440
-
Richard Smith authored
llvm-svn: 162430
-
Douglas Gregor authored
inconsistent ordering of results; instead, use use SmallPtrSet to eliminate duplicates. llvm-svn: 162429
-
Richard Smith authored
on a null pointer. (This function happens to work for a null 'this' pointer, so no test.) llvm-svn: 162427
-
Eli Friedman authored
of a pointer for builtin emission, instead of just depending on the type of the pointee. <rdar://problem/11314941>. llvm-svn: 162425
-