History log of /llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp (Results 101 – 125 of 255)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1
# cfeacf56 27-May-2016 Benjamin Kramer <benny.kra@googlemail.com>

Apply clang-tidy's misc-move-constructor-init throughout Clang.

No functionality change intended, maybe a tiny performance improvement.

llvm-svn: 270996


Revision tags: llvmorg-3.8.0, llvmorg-3.8.0-rc3
# 8f7d8b6c 03-Feb-2016 Yury Gribov <y.gribov@samsung.com>

[analyzer] AnalysisConsumer: print fully-qualified function name while displaying progress

-analyzer-display progress option prints only function names which may be ambiguous. This patch forces Anal

[analyzer] AnalysisConsumer: print fully-qualified function name while displaying progress

-analyzer-display progress option prints only function names which may be ambiguous. This patch forces AnalysisConsumer to print fully-qualified function names.
Patch by Alex Sidorin!

Differential Revision: http://reviews.llvm.org/D16804

llvm-svn: 259646

show more ...


Revision tags: llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1
# 054873b0 11-Jan-2016 Yury Gribov <y.gribov@samsung.com>

AnalysisConsumer: use canonical decl for both lookup and store of
visited decls.

Due to redeclarations, the function may have different declarations used
in CallExpr and in the definition. However,

AnalysisConsumer: use canonical decl for both lookup and store of
visited decls.

Due to redeclarations, the function may have different declarations used
in CallExpr and in the definition. However, we need to use a unique
declaration for both store and lookup in VisitedCallees. This patch
fixes issues with analysis in topological order. A simple test is
included.

Patch by Alex Sidorin!

Differential Revision: http://reviews.llvm.org/D15410

llvm-svn: 257318

show more ...


Revision tags: llvmorg-3.7.1
# 50668455 24-Nov-2015 Richard Smith <richard-llvm@metafoo.co.uk>

Remove DataRecursiveASTVisitor; it no longer serves any purpose, since it's just an alias for RecursiveASTVisitor.

llvm-svn: 253949


Revision tags: llvmorg-3.7.1-rc2
# 6e644abd 18-Nov-2015 Devin Coughlin <dcoughlin@apple.com>

[analyzer] Skip checking blocks in dependent contexts.

Since we don't check functions in dependent contexts, we should skip blocks
in those contexts as well. This avoids an assertion failure when th

[analyzer] Skip checking blocks in dependent contexts.

Since we don't check functions in dependent contexts, we should skip blocks
in those contexts as well. This avoids an assertion failure when the
DeadStoresChecker attempts to evaluate an array subscript expression with
a dependent name type.

rdar://problem/23564220

llvm-svn: 253516

show more ...


Revision tags: llvmorg-3.7.1-rc1
# 637d1e66 20-Oct-2015 Angel Garcia Gomez <angelgarcia@google.com>

Roll-back r250822.

Summary: It breaks the build for the ASTMatchers

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D13893

llvm-svn: 250827


# b5250d34 20-Oct-2015 Angel Garcia Gomez <angelgarcia@google.com>

Apply modernize-use-default to clang.

Summary: Replace empty bodies of default constructors and destructors with '= default'.

Reviewers: bkramer, klimek

Subscribers: klimek, alexfh, cfe-commits

D

Apply modernize-use-default to clang.

Summary: Replace empty bodies of default constructors and destructors with '= default'.

Reviewers: bkramer, klimek

Subscribers: klimek, alexfh, cfe-commits

Differential Revision: http://reviews.llvm.org/D13890

llvm-svn: 250822

show more ...


# d347e7a9 18-Sep-2015 Ismail Pazarbasi <ismail.pazarbasi@gmail.com>

Analyzer: Fix a crasher in UbigraphViz

Summary:
Name `Out` refers to the parameter. It is moved into the member `Out`
in ctor-init. Dereferencing null pointer will crash clang, if user
passes '-anal

Analyzer: Fix a crasher in UbigraphViz

Summary:
Name `Out` refers to the parameter. It is moved into the member `Out`
in ctor-init. Dereferencing null pointer will crash clang, if user
passes '-analyzer-viz-egraph-ubigraph' argument.

Reviewers: zaks.anna, krememek

Subscribers: cfe-commits

Differential Revision: http://reviews.llvm.org/D12119

llvm-svn: 248050

show more ...


# 3a0678e3 08-Sep-2015 Ted Kremenek <kremenek@apple.com>

[analyzer] Apply whitespace cleanups by Honggyu Kim.

llvm-svn: 246978


Revision tags: llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3
# 65693873 20-Aug-2015 Aaron Ballman <aaron@aaronballman.com>

Do not crash when static analysis encounters a FunctionDecl that has a delayed template parse of its body.

llvm-svn: 245616


Revision tags: studio-1.4, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1
# 3849dea8 26-Jun-2015 Anna Zaks <ganna@apple.com>

[static analyzer] Analyzer is skipping forward declared C/C++ functions

A patch by Karthik Bhat!

This patch fixes a regression introduced by r224398. Prior to r224398
we were able to analyze the fo

[static analyzer] Analyzer is skipping forward declared C/C++ functions

A patch by Karthik Bhat!

This patch fixes a regression introduced by r224398. Prior to r224398
we were able to analyze the following code in test-include.c and report
a null deref in this case. But post r224398 this analysis is being skipped.

E.g.
// test-include.c
#include "test-include.h"
void test(int * data) {
data = 0;
*data = 1;
}

// test-include.h
void test(int * data);

This patch uses the function body (instead of its declaration) as the location
of the function when deciding if the Decl should be analyzed with path-sensitive
analysis. (Prior to r224398, the call graph was guaranteed to have a definition
when available.)

llvm-svn: 240800

show more ...


Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1
# 34eb2072 11-Apr-2015 Alexander Kornienko <alexfh@google.com>

Use 'override/final' instead of 'virtual' for overridden methods

Summary:
The patch is generated using clang-tidy misc-use-override check.

This command was used:

tools/clang/tools/extra/clang-ti

Use 'override/final' instead of 'virtual' for overridden methods

Summary:
The patch is generated using clang-tidy misc-use-override check.

This command was used:

tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py \
-checks='-*,misc-use-override' -header-filter='llvm|clang' -j=32 -fix

Reviewers: dblaikie

Reviewed By: dblaikie

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D8926

llvm-svn: 234678

show more ...


Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1
# 09fb7c6e 10-Mar-2015 Yaron Keren <yaron.keren@gmail.com>

Teach raw_ostream to accept SmallString.

Saves adding .str() call to any raw_ostream << SmallString usage
and a small step towards making .str() consistent in the ADTs by
removing one of the SmallSt

Teach raw_ostream to accept SmallString.

Saves adding .str() call to any raw_ostream << SmallString usage
and a small step towards making .str() consistent in the ADTs by
removing one of the SmallString::str() use cases, discussion at

http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141013/240026.html

I'll update the Phabricator patch http://reviews.llvm.org/D6372
for review of the Twine SmallString support, it's more complex
than this one.

llvm-svn: 231763

show more ...


Revision tags: llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3
# 7b6da659 05-Feb-2015 Anna Zaks <ganna@apple.com>

[analyzer] Don't skip analyzing the functions in preprocessed files.

The change in main file detection ended up disabling the path-sensitive
analysis of functions within preprocessed files.

llvm-sv

[analyzer] Don't skip analyzing the functions in preprocessed files.

The change in main file detection ended up disabling the path-sensitive
analysis of functions within preprocessed files.

llvm-svn: 228246

show more ...


Revision tags: llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1
# 0d9593dd 14-Jan-2015 Chandler Carruth <chandlerc@gmail.com>

[cleanup] Re-sort *all* #include lines with llvm/utils/sort_includes.py

Sorry for the noise, I managed to miss a bunch of recent regressions of
include orderings here. This should actually sort all

[cleanup] Re-sort *all* #include lines with llvm/utils/sort_includes.py

Sorry for the noise, I managed to miss a bunch of recent regressions of
include orderings here. This should actually sort all the includes for
Clang. Again, no functionality changed, this is just a mechanical
cleanup that I try to run periodically to keep the #include lines as
regular as possible across the project.

llvm-svn: 225979

show more ...


Revision tags: llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1
# 04162eac 04-Nov-2014 Michael J. Spencer <bigcheesegs@gmail.com>

[llvm-api-change] Use findProgramByName.

llvm-svn: 221222


# a48a53cc 05-Sep-2014 David Blaikie <dblaikie@gmail.com>

unique_ptrify AnalysisConsumer.cpp::CreateUbiViz

llvm-svn: 217212


Revision tags: llvmorg-3.5.0
# 53dd8fea 29-Aug-2014 David Blaikie <dblaikie@gmail.com>

unique_ptrify clang::ento::createCheckerManager

llvm-svn: 216765


# d5478fdd 29-Aug-2014 Anna Zaks <ganna@apple.com>

Add an option to silence all analyzer warnings.

People have been incorrectly using "-analyzer-disable-checker" to
silence analyzer warnings on a file, when analyzing a project. Add
the "-analyzer-di

Add an option to silence all analyzer warnings.

People have been incorrectly using "-analyzer-disable-checker" to
silence analyzer warnings on a file, when analyzing a project. Add
the "-analyzer-disable-all-checks" option, which would allow the
suppression and suggest it as part of the error message for
"-analyzer-disable-checker". The idea here is to compose this with
"--analyze" so that users can selectively opt out specific files from
static analysis.

llvm-svn: 216763

show more ...


Revision tags: llvmorg-3.5.0-rc4
# eeccb30b 27-Aug-2014 Ted Kremenek <kremenek@apple.com>

Add support for the static analyzer to synthesize function implementations from external model files.

Currently the analyzer lazily models some functions using 'BodyFarm',
which constructs a fake fu

Add support for the static analyzer to synthesize function implementations from external model files.

Currently the analyzer lazily models some functions using 'BodyFarm',
which constructs a fake function implementation that the analyzer
can simulate that approximates the semantics of the function when
it is called. BodyFarm does this by constructing the AST for
such definitions on-the-fly. One strength of BodyFarm
is that all symbols and types referenced by synthesized function
bodies are contextual adapted to the containing translation unit.
The downside is that these ASTs are hardcoded in Clang's own
source code.

A more scalable model is to allow these models to be defined as source
code in separate "model" files and have the analyzer use those
definitions lazily when a function body is needed. Among other things,
it will allow more customization of the analyzer for specific APIs
and platforms.

This patch provides the initial infrastructure for this feature.
It extends BodyFarm to use an abstract API 'CodeInjector' that can be
used to synthesize function bodies. That 'CodeInjector' is
implemented using a new 'ModelInjector' in libFrontend, which lazily
parses a model file and injects the ASTs into the current translation
unit.

Models are currently found by specifying a 'model-path' as an
analyzer option; if no path is specified the CodeInjector is not
used, thus defaulting to the current behavior in the analyzer.

Models currently contain a single function definition, and can
be found by finding the file <function name>.model. This is an
initial starting point for something more rich, but it bootstraps
this feature for future evolution.

This patch was contributed by Gábor Horváth as part of his
Google Summer of Code project.

Some notes:

- This introduces the notion of a "model file" into
FrontendAction and the Preprocessor. This nomenclature
is specific to the static analyzer, but possibly could be
generalized. Essentially these are sources pulled in
exogenously from the principal translation.

Preprocessor gets a 'InitializeForModelFile' and
'FinalizeForModelFile' which could possibly be hoisted out
of Preprocessor if Preprocessor exposed a new API to
change the PragmaHandlers and some other internal pieces. This
can be revisited.

FrontendAction gets a 'isModelParsingAction()' predicate function
used to allow a new FrontendAction to recycle the Preprocessor
and ASTContext. This name could probably be made something
more general (i.e., not tied to 'model files') at the expense
of losing the intent of why it exists. This can be revisited.

- This is a moderate sized patch; it has gone through some amount of
offline code review. Most of the changes to the non-analyzer
parts are fairly small, and would make little sense without
the analyzer changes.

- Most of the analyzer changes are plumbing, with the interesting
behavior being introduced by ModelInjector.cpp and
ModelConsumer.cpp.

- The new functionality introduced by this change is off-by-default.
It requires an analyzer config option to enable.

llvm-svn: 216550

show more ...


Revision tags: llvmorg-3.5.0-rc3
# 6beb6aa8 10-Aug-2014 David Blaikie <dblaikie@gmail.com>

Recommit 213307: unique_ptr-ify ownership of ASTConsumers (reverted in r213325)

After post-commit review and community discussion, this seems like a
reasonable direction to continue, making ownershi

Recommit 213307: unique_ptr-ify ownership of ASTConsumers (reverted in r213325)

After post-commit review and community discussion, this seems like a
reasonable direction to continue, making ownership semantics explicit in
the source using the type system.

llvm-svn: 215323

show more ...


Revision tags: llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1
# 3875a82d 19-Jul-2014 David Blaikie <dblaikie@gmail.com>

Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favor of ".reset()"

It's also possible to just write "= nullptr", but there's some question
of whether that's as readable, so I leave

Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favor of ".reset()"

It's also possible to just write "= nullptr", but there's some question
of whether that's as readable, so I leave it up to authors to pick which
they prefer for now. If we want to discuss standardizing on one or the
other, we can do that at some point in the future.

llvm-svn: 213439

show more ...


# 62a56f39 17-Jul-2014 David Blaikie <dblaikie@gmail.com>

Revert "unique_ptr-ify ownership of ASTConsumers"

This reverts commit r213307.

Reverting to have some on-list discussion/confirmation about the ongoing
direction of smart pointer usage in the LLVM

Revert "unique_ptr-ify ownership of ASTConsumers"

This reverts commit r213307.

Reverting to have some on-list discussion/confirmation about the ongoing
direction of smart pointer usage in the LLVM project.

llvm-svn: 213325

show more ...


# a51666a4 17-Jul-2014 David Blaikie <dblaikie@gmail.com>

unique_ptr-ify ownership of ASTConsumers

(after fixing a bug in MultiplexConsumer I noticed the ownership of the
nested consumers was implemented with raw pointers - so this fixes
that... and follow

unique_ptr-ify ownership of ASTConsumers

(after fixing a bug in MultiplexConsumer I noticed the ownership of the
nested consumers was implemented with raw pointers - so this fixes
that... and follows the source back to its origin pushing unique_ptr
ownership up through there too)

llvm-svn: 213307

show more ...


# f994cef8 05-Jul-2014 Alp Toker <alp@nuanti.com>

Track IntrusiveRefCntPtr::get() changes from LLVM r212366

llvm-svn: 212369


1234567891011