summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [clang-tidy] Make 'modernize-use-nullptr' check ignores NULL marcos used in ↵Haojian Wu2016-03-111-0/+6
| | | | | | | | | | | | other macros. Reviewers: bkramer, alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17958 llvm-svn: 263221
* [clang-tidy] Make 'modernize-use-nullptr' check work on multiple nested ↵Haojian Wu2016-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit cast expressions. Summary: For some test cases like: ``` int func(int, void*, void*); (double)func(0, 0, 0); ``` The AST contains several `ImplicitCastExpr`s, so we should not only check on the first sub expression. ``` `-CStyleCastExpr 0x7fe43a088938 <line:6:3, col:24> 'double' <NoOp> `-ImplicitCastExpr 0x7fe43a088920 <col:11, col:24> 'double' <IntegralToFloating> `-CallExpr 0x7fe43a0888a0 <col:11, col:24> 'int' |-ImplicitCastExpr 0x7fe43a088888 <col:11> 'int (*)(int, void *, void *)' <FunctionToPointerDecay> | `-DeclRefExpr 0x7fe43a0887d8 <col:11> 'int (int, void *, void *)' lvalue Function 0x7fe43a0886f0 'func1' 'int (int, void *, void *)' |-IntegerLiteral 0x7fe43a088800 <col:17> 'int' 0 |-ImplicitCastExpr 0x7fe43a0888e0 <col:20> 'void *' <NullToPointer> | `-IntegerLiteral 0x7fe43a088820 <col:20> 'int' 0 `-ImplicitCastExpr 0x7fe43a0888f8 <col:23> 'void *' <NullToPointer> `-IntegerLiteral 0x7fe43a088840 <col:23> 'int' 0 ``` Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17849 llvm-svn: 262698
* [clang-tidy] Fix an assertion failure in `modernize-use-nullptr` check.Haojian Wu2016-02-261-1/+1
| | | | | | | | | | Reviewers: alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D17640 llvm-svn: 262024
* Remove unreachable that was reached in modernize-use-nullptr.Angel Garcia Gomez2015-11-021-5/+7
| | | | | | | | | | | | Summary: When traversing the parent map, the check assumed that all the nodes would be either Stmt or Decl. After r251101, this is no longer true: there can be TypeLoc and NestedNameSpecifierLoc nodes. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D14229 llvm-svn: 251803
* Fix bug in modernize-use-nullptr.Angel Garcia Gomez2015-10-051-7/+24
| | | | | | | | | | | | | | | | | Summary: https://llvm.org/bugs/show_bug.cgi?id=24960 modernize-use-nullptr would hit an assertion in some cases involving macros and initializer lists, due to finding a node with more than one parent (the two forms of the initializer list). However, this doesn't mean that the replacement is incorrect, so instead of just rejecting this case I tried to find a way to make it work. Looking at the semantic form of the InitListExpr made sense to me (looking at both forms results in false negatives) but I am not sure of the things that we can miss by skipping the syntactic form. Reviewers: klimek Subscribers: cfe-commits, alexfh Differential Revision: http://reviews.llvm.org/D13246 llvm-svn: 249291
* Reapplying r246209, which exposed language options to the checkers. This ↵Aaron Ballman2015-08-281-1/+5
| | | | | | time disable UseNullptrCheck when not compiling in C++ mode, but still allow in C++11 mode since it's likely the user wishes to modernize their code. llvm-svn: 246298
* Reverting r246209 while I investigate a build bot failure: ↵Aaron Ballman2015-08-271-3/+1
| | | | | | http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/30516 llvm-svn: 246224
* Expose language options to the checkers; disable UseNullptrCheck when not ↵Aaron Ballman2015-08-271-1/+3
| | | | | | compiling in C++11 mode. llvm-svn: 246209
* Test commit!Angel Garcia Gomez2015-08-211-0/+1
| | | | llvm-svn: 245701
* [clang-tidy] Fold the meat of the UseNullPtrCheck into an anonymous namespace.Benjamin Kramer2015-08-201-0/+2
| | | | | | | | While convenient, RecursiveASTVisitor generates a ridiculous amount of dead template code. Making it not visible from the outside lets the compiler eliminate some of it, shrinking clang-tidy by ~140k. llvm-svn: 245548
* [clang-tidy] Add back a test with a custom NULL macro. Remove redundant default.Alexander Kornienko2015-08-201-1/+1
| | | | llvm-svn: 245533
* [clang-tidy] Fix use-after-free in UseNullptrCheck.Alexander Kornienko2015-08-191-6/+4
| | | | llvm-svn: 245524
* [clang-tidy] Work around failure in Darwin.Alexander Kornienko2015-08-191-1/+1
| | | | llvm-svn: 245517
* [clang-tidy] Add modernize-use-nullptr check, attempt 2.Alexander Kornienko2015-08-191-0/+471
| | | | | | | | | | | This patch re-applies r245434 and r245471 reverted in r245493, and changes the way custom null macros are configured. The test for custom null macros is temporarily excluded and will be committed separately to reduce chances of breakages. Initial patches by Angel Garcia. llvm-svn: 245511
* Revert "[clang-tidy] Add use-nullptr check to clang-tidy."Justin Bogner2015-08-191-472/+0
| | | | | | | | | | The new test is failing on darwin: http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA_check/10339/ This reverts r245434 and its follow up r245471. llvm-svn: 245493
* [clang-tidy] Fix a bug in UseNullptrCheck.Alexander Kornienko2015-08-191-3/+3
| | | | | | | | http://reviews.llvm.org/D12162 Patch by Angel Garcia! llvm-svn: 245471
* [clang-tidy] Add use-nullptr check to clang-tidy.Alexander Kornienko2015-08-191-0/+472
Move UseNullptr from clang-modernize to modernize module in clang-tidy. http://reviews.llvm.org/D12081 Patch by Angel Garcia! llvm-svn: 245434
OpenPOWER on IntegriCloud