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
|