| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
post visit of CallExpr.
In general, we should avoid using evalCall as it leads to interference
with other checkers.
llvm-svn: 150086
|
| |
|
|
|
|
| |
management), and introduce 'PathPieces' as a common container for PathDiagnosticPieces.
llvm-svn: 150054
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 150053
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator overloads out of line.
This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.
This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
llvm-svn: 150006
|
| |
|
|
| |
llvm-svn: 149982
|
| |
|
|
|
|
| |
consistency with NamedDecls.
llvm-svn: 149981
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Capturing variables by-reference and by-copy within a lambda
- The representation of lambda captures
- The creation of the non-static data members in the lambda class
that store the captured variables
- The initialization of the non-static data members from the
captured variables
- Pretty-printing lambda expressions
There are a number of FIXMEs, both explicit and implied, including:
- Creating a field for a capture of 'this'
- Improved diagnostics for initialization failures when capturing
variables by copy
- Dealing with temporaries created during said initialization
- Template instantiation
- AST (de-)serialization
- Binding and returning the lambda expression; turning it into a
proper temporary
- Lots and lots of semantic constraints
- Parameter pack captures
llvm-svn: 149977
|
| |
|
|
|
|
|
|
| |
in PathDiagnostics from other events. This will
have potential uses later.
llvm-svn: 149960
|
| |
|
|
| |
llvm-svn: 149959
|
| |
|
|
| |
llvm-svn: 149958
|
| |
|
|
|
|
| |
separately.
llvm-svn: 149947
|
| |
|
|
| |
llvm-svn: 149939
|
| |
|
|
|
|
|
| |
(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)
llvm-svn: 149799
|
| |
|
|
| |
llvm-svn: 149798
|
| |
|
|
|
|
|
|
| |
include.
Fix all the transitive include users.
llvm-svn: 149783
|
| |
|
|
|
|
|
| |
- Move the offending methods out of line and fix transitive includers.
- This required changing an enum in the PPCallback API into an unsigned.
llvm-svn: 149782
|
| |
|
|
|
|
|
|
|
| |
of Diagnostic.h.
Fix all the files that depended on transitive includes of Diagnostic.h.
With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer.
llvm-svn: 149781
|
| |
|
|
|
|
| |
undefined arguments, when CF functions are called with wrong number of arguments.
llvm-svn: 149771
|
| |
|
|
|
|
|
| |
- osx.coreFoundation.containers.IndexOutOfBounds
- osx.cocoa.SelfInit
llvm-svn: 149747
|
| |
|
|
|
|
| |
(Also renames in other ObjC checkers to create one category of checks.)
llvm-svn: 149745
|
| |
|
|
|
|
|
|
|
|
| |
the the code like this (due to x and &x being the same value but
different size):
void* x[] = { ptr1, ptr2, ptr3 };
CFArrayCreate(NULL, (const void **) &x, count, NULL);
llvm-svn: 149579
|
| |
|
|
|
|
|
|
| |
declarations with special names.
A patch by Dmitri Gribenko.
llvm-svn: 149525
|
| |
|
|
|
|
|
| |
Check if the triple OS is IOS instead of checking for arm/thumb architectures
and check that before calling isMacOSXVersionLT.
llvm-svn: 149454
|
| |
|
|
|
|
|
| |
(Since this is syntax only, might be a good candidate for turning into a
compiler warning.)
llvm-svn: 149407
|
| |
|
|
|
|
| |
replacements for 'starcat/strcpy' instead of 'strncat/strncpy'.
llvm-svn: 149406
|
| |
|
|
|
|
|
|
|
|
| |
Original log:
Convert ProgramStateRef to a smart pointer for managing the reference counts of ProgramStates. This leads to a slight memory
improvement, and a simplification of the logic for managing ProgramState objects.
# Please enter the commit message for your changes. Lines starting
llvm-svn: 149339
|
| |
|
|
|
|
|
|
|
| |
Original log:
Convert ProgramStateRef to a smart pointer for managing the reference counts of ProgramStates. This leads to a slight memory
improvement, and a simplification of the logic for managing ProgramState objects.
llvm-svn: 149336
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 149320
|
| |
|
|
| |
llvm-svn: 149319
|
| |
|
|
|
|
|
|
| |
of ProgramStates. This leads to a slight memory
improvement, and a simplification of the logic for managing ProgramState objects.
llvm-svn: 149311
|
| |
|
|
|
|
| |
from the driver.
llvm-svn: 149276
|
| |
|
|
| |
llvm-svn: 149258
|
| |
|
|
| |
llvm-svn: 149228
|
| |
|
|
|
|
| |
that don't care about the language don't have to pull in all the headers.
llvm-svn: 149178
|
| |
|
|
|
|
|
|
| |
At this point this is largely cosmetic, but it opens the door to replace
ProgramStateRef with a smart pointer that more eagerly acts in the role
of reclaiming unused ProgramState objects.
llvm-svn: 149081
|
| |
|
|
| |
llvm-svn: 149009
|
| |
|
|
|
|
|
|
|
|
|
| |
using CFArrayCreate & family.
Specifically, CFArrayCreate's input should be:
'A C array of the pointer-sized values to be in the new array.'
(radar://10717339)
llvm-svn: 149008
|
| |
|
|
|
|
|
|
|
| |
reports are batched up before being flushed
to the underlying consumer implementation. This allows us to unique reports across analyses to multiple functions (which
shows up with inlining).
llvm-svn: 148997
|
| |
|
|
| |
llvm-svn: 148988
|
| |
|
|
|
|
|
|
|
|
|
| |
inlining) by 30%.
This is accomplished by periodically reclaiming nodes in the graph. This was an optimization
done before the CFG was linearized, but the CFG linearization destroyed that optimization since each
freshly created node couldn't be reclaimed and we only looked at a window of nodes created between
each ProcessStmt. This optimization can be reclaimed my merely expanding the window to N number of nodes.
llvm-svn: 148888
|
| |
|
|
| |
llvm-svn: 148844
|
| |
|
|
|
|
| |
Loc value. When this happens, use the default type.
llvm-svn: 148631
|
| |
|
|
|
|
| |
Also, slightly modify the diagnostic message in ArrayBound and DivZero (still use 'taint', which might not mean much to the user, but plan on changing it later).
llvm-svn: 148626
|
| |
|
|
| |
llvm-svn: 148577
|
| |
|
|
| |
llvm-svn: 148566
|
| |
|
|
|
|
| |
IdempotentOperationsChecker to the 'experimental' category. Fixes <rdar://problem/10146347>.
llvm-svn: 148533
|
| |
|
|
|
|
| |
fewer than 6 Xs. Implements <rdar://problem/6336672>.
llvm-svn: 148531
|
| |
|
|
|
|
|
|
|
| |
APIs. Now
multiple checks are exposed as separate checkers, but CheckerManager only creates
one Checker object.
llvm-svn: 148525
|
| |
|
|
| |
llvm-svn: 148518
|
| |
|
|
|
|
| |
printing.
llvm-svn: 148517
|