summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy
Commit message (Collapse)AuthorAgeFilesLines
* Remove autoconf supportChris Bieneman2016-01-2611-173/+0
| | | | | | | | | | | | | | | | Summary: This patch is provided in preparation for removing autoconf on 1/26. The proposal to remove autoconf on 1/26 was discussed on the llvm-dev thread here: http://lists.llvm.org/pipermail/llvm-dev/2016-January/093875.html "Now I am become Death, the destroyer of worlds." -J. Robert Oppenheimer Reviewers: chandlerc, grosbach, bob.wilson, echristo Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D16475 llvm-svn: 258864
* Test commit. Fix typo in comment.Jonathan Coe2016-01-261-1/+1
| | | | llvm-svn: 258835
* Fix crashing on user-defined conversion.Alexander Kornienko2016-01-261-3/+5
| | | | | | | | | | | | | | Summary: Fix the assertion failure for the user-defined conversion method. e.g.: operator bool() Reviewers: alexfh, aaron.ballman Subscribers: aaron.ballman, cfe-commits Patch by Cong Liu! Differential Revision: http://reviews.llvm.org/D16536 llvm-svn: 258801
* Add support to the misc-assert-side-effect check for MSVC-style assert ↵Aaron Ballman2016-01-251-4/+11
| | | | | | macros, which use !! instead of an if statement or a conditional operator. llvm-svn: 258714
* [clang-tidy] Handle decayed types and other improvements in VirtualNearMiss ↵Gabor Horvath2016-01-222-36/+31
| | | | | | | | | | | check. Handle decayed types, ignore qualifiers and accessibility when considering a method as a possible overload. Differential Revision: http://reviews.llvm.org/D16179 llvm-svn: 258562
* Make modernize-use-default tolerant of delayed template parsing; this code ↵Aaron Ballman2016-01-201-0/+1
| | | | | | was previously causing failed assertions because dyn_cast was being passed a null pointer due to the delay-parsed body. llvm-svn: 258356
* [clang-tidy] Python scripts shebang fixesAlexander Kornienko2016-01-191-1/+1
| | | | | | | | | | | | | | | | | | | Summary: This patch fixes shebang lines in Python script files. Most Python scripts in LLVM & Clang are using this shebang line. [[ https://mail.python.org/pipermail/tutor/2007-June/054816.html | Here]] is an explanaiton of why such line should be used instead of what is currently in these few files. Reviewers: klimek, alexfh Subscribers: cfe-commits Patch by Kirill Bobyrev! Differential Revision: http://reviews.llvm.org/D16270 llvm-svn: 258133
* [clang-tidy] Fix a copy-paste error.Alexander Kornienko2016-01-151-1/+1
| | | | llvm-svn: 257900
* Teach clang-tidy how to upgrade warnings into errors.Jonathan Roelofs2016-01-137-18/+77
| | | | | | | | | Similar in format to the `-checks=` argument, this new `-warnings-as-errors=` argument upgrades any warnings emitted by the former to errors. http://reviews.llvm.org/D15528 llvm-svn: 257642
* [clang-tidy] Slightly clarified comments.Alexander Kornienko2016-01-131-2/+2
| | | | llvm-svn: 257600
* Support virtual-near-miss check.Alexander Kornienko2016-01-134-0/+335
| | | | | | | | | | | | | | Summary: Virtual function override near miss detection. Function complete. Test complete. Do not conduct Fix for now. Reviewers: alexfh Subscribers: cfe-commits Patch by Cong Liu! Differential Revision: http://reviews.llvm.org/D15823 llvm-svn: 257599
* Add documentation redirects for clang-tidy checkers that are exposed under ↵Aaron Ballman2016-01-111-7/+17
| | | | | | multiple checker names. Updates the Python script for adding checks to properly handle these aliases. llvm-svn: 257347
* [clang-tidy] Fix a false positive in google-runtime-memsetAlexander Kornienko2016-01-111-7/+11
| | | | | | | | | | | | | | | | | google-runtime-memset no longer issues a warning if the fill char value is known to be an invalid fill char count. Namely, it no longer warns for these: memset(p, 0, 0); memset(p, -1, 0); In both cases, swapping the last two args would either be useless (there is no actual bug) or wrong (it would introduce a bug). Patch by Matt Armstrong! llvm-svn: 257320
* [clang-tidy] Add non-inline function definition and variable definition ↵Alexander Kornienko2016-01-084-0/+173
| | | | | | | | | | | | | | | | check in header files. Summary: The new check will find all functionand variable definitions which may violate cpp one definition rule in header file. Reviewers: aaron.ballman, alexfh Subscribers: aaron.ballman, cfe-commits Patch by Haojian Wu! Differential Revision: http://reviews.llvm.org/D15710 llvm-svn: 257178
* Disable part of the misc-move-constructor-init checker when the check is ↵Aaron Ballman2016-01-084-16/+30
| | | | | | enabled through cert-oop11-cpp. The CERT guideline does not cover moveable parameters as part of the OOP11-CPP recommendation, just copy construction from move constructors. llvm-svn: 257177
* [clang-tidy] Use proper capitalization and punctuation for diagnostic messages.Alexander Kornienko2016-01-086-10/+10
| | | | | | Use diagnostic parameters where possible instead of string concatenation. llvm-svn: 257176
* Rename the CERT namespace to cert, and update some checkers to use this ↵Aaron Ballman2016-01-049-10/+20
| | | | | | | | namespace consistently. Patch thanks to Haojian Wu! llvm-svn: 256756
* [clang-tidy] Don't use delegating constructorsAlexander Kornienko2015-12-301-1/+2
| | | | llvm-svn: 256637
* [clang-tidy] Use hasLocalStorage() to identify unnecessary copy ↵Alexander Kornienko2015-12-301-2/+1
| | | | | | | | | | | | | | initializations to exclude static local variables. Summary: Since local static variables can outlive other local variables exclude them from the unnecessary copy initialization check. Reviewers: alexfh Patch by Felix Berger! Differential Revision: http://reviews.llvm.org/D15822 llvm-svn: 256636
* [clang-tidy] Add the missing MakefileAlexander Kornienko2015-12-301-0/+12
| | | | llvm-svn: 256634
* [clang-tidy] Fix configure buildAlexander Kornienko2015-12-301-1/+2
| | | | llvm-svn: 256633
* [clang-tidy] Add UnnecessaryCopyInitialization check to new "performance" ↵Alexander Kornienko2015-12-3011-1/+241
| | | | | | | | | | | | | | | | | | | module in ClangTidy Summary: The patch adds a new ClangTidy check that detects when expensive-to-copy types are unnecessarily copy initialized from a const reference that has the same or are larger scope than the copy. It currently only detects this when the copied variable is const qualified. But this will be extended to non const variables if they are only used in a const fashion. Reviewers: alexfh Subscribers: cfe-commits Patch by Felix Berger! Differential Revision: http://reviews.llvm.org/D15623 llvm-svn: 256632
* [clang-tidy] Fix a use-after-free bug found by asanAlexander Kornienko2015-12-291-2/+3
| | | | llvm-svn: 256562
* [clang-tidy] Don't generate duplicated blank line in add_new_check.py script.Alexander Kornienko2015-12-291-2/+0
| | | | | | | | | | | | Reviewers: alexfh Subscribers: cfe-commits Patch by Haojian Wu! Differential Revision: http://reviews.llvm.org/D15803 llvm-svn: 256554
* [clang-tidy] Fix a false positive case in ContainerSizeEmpty check.Gabor Horvath2015-12-281-4/+9
| | | | llvm-svn: 256504
* [clang-tidy] Preserve comments and preprocessor directives when simplifying ↵Alexander Kornienko2015-12-282-39/+72
| | | | | | | | | | | | | | | | | | boolean expressions This changeset still emits the diagnostic that the expression could be simplified, but it doesn't generate any fix-its that would lose comments or preprocessor directives within the text that would be replaced. Fixes PR25842 Reviewers: alexfh Subscribers: xazax.hun, cfe-commits Patch by Richard Thomson! (+a naming style fix) Differential Revision: http://reviews.llvm.org/D15737 llvm-svn: 256492
* Renaming CERT documentation files to use the CERT rule identifiers. This is ↵Aaron Ballman2015-12-274-4/+4
| | | | | | for consistency with other checkers, where the documentation file name matches the checker name. NFC of the checkers. llvm-svn: 256474
* [clang-tidy] Updates to documentation: formatting, titles, etc.Alexander Kornienko2015-12-221-1/+3
| | | | llvm-svn: 256259
* Fix a false positive case in ContainerSizeEmpty check (PR25893).Gabor Horvath2015-12-211-0/+5
| | | | llvm-svn: 256142
* [clang-tidy] google-readability-namespace-comments: ignore stray semicolonsAlexander Kornienko2015-12-161-1/+2
| | | | llvm-svn: 255772
* [clang-tidy] Add namespace support to add_new_check.pyAlexander Kornienko2015-12-161-4/+10
| | | | | | | | | | | | | | Summary: Without namespace you can not create checks with same name in different modules Reviewers: alexfh Subscribers: cfe-commits Patch by Cong Liu! Differential Revision: http://reviews.llvm.org/D15571 llvm-svn: 255770
* [clang-tidy] Don't use diag() for debug outputAlexander Kornienko2015-12-161-11/+3
| | | | llvm-svn: 255765
* [clang-tidy] Fix a crash in misc-new-delete-overloadsAlexander Kornienko2015-12-161-42/+39
| | | | llvm-svn: 255758
* [clang-tidy] Check for suspicious string assignments.Gabor Horvath2015-12-154-0/+123
| | | | | | | | | | | It is possible to assign arbitrary integer types to strings. Sometimes it is the result of missing to_string call or apostrophes. Reviewers: alexfh Differential Revision: http://reviews.llvm.org/D15411 llvm-svn: 255630
* [clang-tidy] add check cppcoreguidelines-pro-bounds-constant-array-indexMatthias Gehre2015-12-134-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is http://reviews.llvm.org/D13746 but instead of including <array>, a stub is provided. This check flags all array subscriptions on static arrays and std::arrays that either have a non-compile-time-constant index or are out of bounds. Dynamic accesses into arrays are difficult for both tools and humans to validate as safe. array_view is a bounds-checked, safe type for accessing arrays of data. at() is another alternative that ensures single accesses are bounds-checked. If iterators are needed to access an array, use the iterators from an array_view constructed over the array. This rule is part of the "Bounds safety" profile of the C++ Core Guidelines, see https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#-bounds2-only-index-into-arrays-using-constant-expressions Reviewers: alexfh, sbenza, bkramer, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15030 llvm-svn: 255470
* [clang-tidy] Fix PR25812.Gabor Horvath2015-12-121-25/+26
| | | | llvm-svn: 255431
* Add a license clarification for use of links and titles of CERT secure ↵Aaron Ballman2015-12-101-0/+22
| | | | | | coding guidelines. llvm-svn: 255248
* [clang-tidy] Sort includes case-sensitively.Alexander Kornienko2015-12-101-4/+1
| | | | | | | | | The motivation is: 1. consistency with clang-format, vim :sort etc. 2. we don't want the tools to depend on the current locale to do the include sorting llvm-svn: 255243
* clang-tidy readability identifiers: better diagnostic locationMike Aizatsky2015-12-041-1/+1
| | | | | | | | | | | | Summary: With this change the error reported is on the identifier location itself. It was declaration location before. Reviewers: alexfh Differential Revision: http://reviews.llvm.org/D15203 llvm-svn: 254766
* Replace the custom AST matcher for nothrow functions with the canonical AST ↵Aaron Ballman2015-12-023-18/+2
| | | | | | matcher from r254516. llvm-svn: 254517
* Add a new checker, cert-err58-cpp, that checks for static or thread_local ↵Aaron Ballman2015-12-016-15/+107
| | | | | | | | objects that use a throwing constructor. This check corresponds to the CERT secure coding rule: https://www.securecoding.cert.org/confluence/display/cplusplus/ERR58-CPP.+Constructors+of+objects+with+static+or+thread+storage+duration+must+not+throw+exceptions llvm-svn: 254415
* [clang-tidy] google-explicit-constructor: improve the warning messageAlexander Kornienko2015-11-281-3/+5
| | | | | | Also switch some more tests to %check_clang_tidy. llvm-svn: 254216
* [clang-tidy] cppcoreguidelines-pro-bounds-pointer-arithmetic: ignore ↵Matthias Gehre2015-11-261-5/+9
| | | | | | | | | | | | | | | | generated pointer arithmetic Summary: Inside a range-based for-loop over an array, the compiler generates pointer arithmetic (end = array + size). Don't flag this. Reviewers: alexfh, sbenza, bkramer, aaron.ballman Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14582 llvm-svn: 254182
* Fix problem with Clang-tidy parallel configure build.Eugene Zelenko2015-11-251-2/+2
| | | | | | Differential revision: http://reviews.llvm.org/D14964 llvm-svn: 254081
* [clang-tidy] Fix a typo in my latest commit.Alexander Kornienko2015-11-251-2/+2
| | | | llvm-svn: 254074
* [clang-tidy] Const std::move() argument ClangTidy checkAlexander Kornienko2015-11-254-0/+106
| | | | | | | | | | | | ClangTidy check for finding cases when std::move() is called with const or trivially copyable arguments, that doesn't lead to any move or argument but it makes copy. FixIt generates patch for removing call of std::move(). Patch by Vadym Doroshenko! (+ a couple of minor fixes) Differential Revision: http://reviews.llvm.org/D12031 llvm-svn: 254070
* [clang-tidy] code cleanup using isAssignmentOp()Daniel Marjamaki2015-11-251-5/+1
| | | | llvm-svn: 254066
* Test to ensure the function does not have an unresolved or unevaluated ↵Aaron Ballman2015-11-191-4/+6
| | | | | | exception specification before testing whether the function throws or not. Fixes PR25574. llvm-svn: 253598
* Replace a dyn_cast with isa where the result was only being used as a ↵Craig Topper2015-11-181-1/+1
| | | | | | boolean. NFC. llvm-svn: 253442
* Revert r253401, "[clang-tidy] add check ↵NAKAMURA Takumi2015-11-184-175/+0
| | | | | | | | cppcoreguidelines-pro-bounds-constant-array-index" cppcoreguidelines-pro-bounds-constant-array-index.cpp is failing in several hosts. llvm-svn: 253428
OpenPOWER on IntegriCloud