| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
array new with a non-trivial constructor. Pointed out in PR13380.
llvm-svn: 162643
|
| |
|
|
| |
llvm-svn: 162642
|
| |
|
|
| |
llvm-svn: 162641
|
| |
|
|
| |
llvm-svn: 162640
|
| |
|
|
|
|
| |
Patch by Timur Iskhodzhanov!
llvm-svn: 162639
|
| |
|
|
|
|
| |
Patch by Timur Iskhodzhanov!
llvm-svn: 162638
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows checkers (like the MallocChecker) to process the effects of the
bind. Previously, using a memory-allocating function (like strdup()) in an
initializer would result in a leak warning.
This does bend the expectations of checkBind a bit; since there is no
assignment expression, the statement being used is the initializer value.
In most cases this shouldn't matter because we'll use a PostInitializer
program point (rather than PostStmt) for any checker-generated nodes, though
we /will/ generate a PostStore node referencing the internal statement.
(In theory this could have funny effects if someone actually does an
assignment within an initializer; in practice, that seems like it would be
very rare.)
<rdar://problem/12171711>
llvm-svn: 162637
|
| |
|
|
| |
llvm-svn: 162636
|
| |
|
|
|
|
| |
features.
llvm-svn: 162635
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
by this mode, and also check for signed left shift overflow. The rules for the
latter are a little subtle:
* neither C89 nor C++98 specify the behavior of a signed left shift at all
* in C99 and C11, shifting a 1 bit into the sign bit has undefined behavior
* in C++11, with core issue 1457, shifting a 1 bit *out* of the sign bit has
undefined behavior
As of this change, we use the C99 rules for all C language variants, and the
C++11 rules for all C++ language variants. Once we have individual
-fcatch-undefined-behavior= flags, this should be revisited.
llvm-svn: 162634
|
| |
|
|
|
|
| |
No functional change intended.
llvm-svn: 162632
|
| |
|
|
|
|
| |
incompatible.
llvm-svn: 162631
|
| |
|
|
| |
llvm-svn: 162630
|
| |
|
|
| |
llvm-svn: 162629
|
| |
|
|
|
|
|
| |
declaration is not provided. It is only necessary on
the method implementation. // rdar://11593375
llvm-svn: 162628
|
| |
|
|
| |
llvm-svn: 162626
|
| |
|
|
|
|
| |
have the option with two '--' to be consistent with other options.
llvm-svn: 162625
|
| |
|
|
|
|
|
|
|
|
|
| |
Unless the user specifies, the clang used for static analysis is the one
found relative to scan-build.
If the user specifies -with-analyzer, they can pick either to use
the clang bundled with Xcode (via xcrun) or they can specify
a path to clang.
llvm-svn: 162620
|
| |
|
|
|
|
|
| |
and -store from help text because they are no longer relevant
to users.
llvm-svn: 162619
|
| |
|
|
|
|
|
|
| |
make sure we walk up the DC chain for the current context,
rather than allowing ourselves to get switched over to the
canonical DC chain. Fixes PR13642.
llvm-svn: 162616
|
| |
|
|
| |
llvm-svn: 162609
|
| |
|
|
|
|
|
|
|
| |
CodeGen option to a LangOpt option. In turn, hoist the guard into the parser
so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This
should restore the behavior of clang to that prior to r158325.
<rdar://problem/12163681>
llvm-svn: 162602
|
| |
|
|
| |
llvm-svn: 162598
|
| |
|
|
| |
llvm-svn: 162597
|
| |
|
|
| |
llvm-svn: 162590
|
| |
|
|
| |
llvm-svn: 162588
|
| |
|
|
| |
llvm-svn: 162587
|
| |
|
|
| |
llvm-svn: 162586
|
| |
|
|
|
|
|
|
| |
in class extension, assume default is rewdwrite and don't
issue any diagnostics, privided other ownership models
are ok.
llvm-svn: 162583
|
| |
|
|
|
|
|
| |
this group into "alpha" and "beta" to distinguish between checkers in
different levels of premature state.
llvm-svn: 162582
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
generated for a given diagnostic to another. Because PathDiagnostics
are specific to a give PathDiagnosticConsumer, store in
a FoldingSet a unique hash for a PathDiagnostic (that will be the same
for the same bug for different PathDiagnosticConsumers) that
stores a list of files generated. This can then be read by the
other PathDiagnosticConsumers.
This fixes breakage in the PLIST-HTML output.
llvm-svn: 162580
|
| |
|
|
| |
llvm-svn: 162579
|
| |
|
|
| |
llvm-svn: 162575
|
| |
|
|
|
|
|
|
| |
with parameter that is documented.
Fixes PR13670, <rdar://problem/12155840>.
llvm-svn: 162570
|
| |
|
|
| |
llvm-svn: 162568
|
| |
|
|
|
|
| |
Sema::ActOnIdExpression().
llvm-svn: 162564
|
| |
|
|
|
|
|
|
|
|
|
|
| |
More generally, any time we try to track where a null value came from, we
should show if it came from a function. This usually isn't necessary if
the value is symbolic, but if the value is just a constant we previously
just ignored its origin entirely. Now, we'll step into the function and
recursively add a visitor to the returned expression.
<rdar://problem/12114609>
llvm-svn: 162563
|
| |
|
|
| |
llvm-svn: 162560
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 162552
|
| |
|
|
|
|
| |
"volatile" affects.
llvm-svn: 162550
|
| |
|
|
|
|
| |
Fixes <rdar://problem/11005770>.
llvm-svn: 162545
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
databases. Move JSONCompilationDatabase.h to its own files and
register it as plugin.
llvm-svn: 162541
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
no clang can be found relative to the location of scan-build.
Fixes <rdar://problem/11691794>
llvm-svn: 162535
|
| |
|
|
|
|
|
| |
When reallocation of a non-allocated (not owned) symbol fails do not
expect it to be freed.
llvm-svn: 162533
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
(I am not sure if we should move the setters and getters as well and
make them into static methods..)
llvm-svn: 162528
|
| |
|
|
|
|
|
|
| |
* 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
|