Alp Toker
6462e9e695
Fix build when various clang feature flags are enabled/disabled
...
llvm-svn: 212994
2014-07-14 22:15:29 +00:00
Benjamin Kramer
082bf7f637
[clang-tidy] Add a checker for swapped arguments.
...
This looks for swapped arguments by looking at implicit conversions of arguments
void Foo(int, double);
Foo(1.0, 3); // Most likely a bug
llvm-svn: 212942
2014-07-14 14:24:30 +00:00
Alexander Kornienko
ad21688625
Set up clang-tidy diagnostic consumer to print types etc.
...
Reviewers: bkramer
Reviewed By: bkramer
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4494
llvm-svn: 212941
2014-07-14 14:10:03 +00:00
Alexander Kornienko
7366616a93
Suggest automated replacements of C-style casts with C++ casts.
...
Summary:
This patch implements a subset of possible replacements of C-style
casts with const_cast/static_cast/reinterpret_cast. This should cover a large
portion of cases in real code. Handling of a few more cases may be implemented
eventually.
Reviewers: sbenza, djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4478
llvm-svn: 212924
2014-07-14 07:37:05 +00:00
NAKAMURA Takumi
23b702c8de
[CMake] Update libdeps.
...
llvm-svn: 212920
2014-07-14 05:01:53 +00:00
NAKAMURA Takumi
4a070dc428
[CMake] Reorder libdeps by alphabetical order.
...
llvm-svn: 212919
2014-07-14 04:59:27 +00:00
Alexander Kornienko
2ff9541eaa
Fixed compilation errors in tests, enforce checking for errors in check_clang_tidy_fix.sh.
...
Reviewers: sbenza, djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4480
llvm-svn: 212876
2014-07-12 13:16:58 +00:00
Alexander Kornienko
a2c4950e6e
Modify the tests to use FileCheck -implicit-check-not option being proposed in D4462
...
Reviewers: djasper, sbenza, bkramer
Reviewed By: bkramer
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4463
llvm-svn: 212814
2014-07-11 13:44:51 +00:00
Alexander Kornienko
b666eee1c8
Fixed the test to work with -implicit-check-not.
...
llvm-svn: 212811
2014-07-11 12:54:51 +00:00
Benjamin Kramer
1c8b31753b
[clang-tidy] Add a checker for implicit bool conversion of a bool*.
...
The goal is to find code like the example below, which is likely a typo
where someone meant to write "if (*b)".
bool *b = SomeFunction();
if (b) {
// b never dereferenced
}
This checker naturally has a relatively high false positive rate so it
applies some heuristics to avoid cases where the pointer is checked for
nullptr before being written.
Differential Revision: http://reviews.llvm.org/D4458
llvm-svn: 212797
2014-07-11 08:08:47 +00:00
Tobias Grosser
0fcf3cce2b
[doc] Fix incorrect reference to clang-format -> clang-tidy
...
llvm-svn: 212755
2014-07-10 18:59:25 +00:00
Alexander Kornienko
47d7ae9875
Removed the "-fix" suffix from tests that verify both fixes and messages.
...
llvm-svn: 212658
2014-07-09 21:21:39 +00:00
Alexander Kornienko
af9ccfad87
Check messages and fixes in the same test.
...
Summary: This reduces duplication of test code and improves locality of checks.
Reviewers: sbenza, djasper
Reviewed By: sbenza, djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4437
llvm-svn: 212653
2014-07-09 21:09:26 +00:00
Daniel Jasper
616f58b5c6
Delete removed formatting option.
...
llvm-svn: 212593
2014-07-09 08:18:31 +00:00
Benjamin Kramer
a054343415
As funny as it might look, this wasn't what I intended to test.
...
llvm-svn: 212549
2014-07-08 16:42:54 +00:00
Benjamin Kramer
5fc40fe28c
Use explicit if and restore lost FileCheck error code checking.
...
llvm-svn: 212546
2014-07-08 16:15:48 +00:00
Benjamin Kramer
ee58721875
[clang-tidy] Address review comments for the Twine checker.
...
- Remove unused includes.
- Minor wording fix.
- Added support to check for clang-tidy messages to check_clang_tidy_fix.sh
= Updated test case.
llvm-svn: 212540
2014-07-08 15:41:20 +00:00
Benjamin Kramer
190e2cfd74
[clang-tidy] Add a little checker for Twine locals in LLVM.
...
Those often cause use after free bugs and should be generally avoided.
Technically it is safe to have a Twine with >=2 components in a variable
but I don't think it is a good pattern to follow. The almost trivial checker
comes with elaborated fix-it hints that turn the Twine into a std::string
if necessary and otherwise fall back to the original type if the Twine
is created from a single value.
llvm-svn: 212535
2014-07-08 14:32:17 +00:00
Rafael Espindola
43f0aa6caf
Update for llvm api change.
...
llvm-svn: 212406
2014-07-06 17:43:19 +00:00
Alp Toker
06164dd854
Track changes from clang r212387, r212388
...
llvm-svn: 212390
2014-07-06 05:29:14 +00:00
Alp Toker
573583e2f2
Track IntrusiveRefCntPtr::get() changes from LLVM r212366
...
llvm-svn: 212367
2014-07-05 03:04:33 +00:00
NAKAMURA Takumi
b52c761a3c
Let test/Unit/lit.cfg add config.shlibdir to $PATH on DLL platforms like cygming.
...
This makes unittests run with BUILD_SHARED_LIBS on DLL platforms.
llvm-svn: 212316
2014-07-04 05:11:55 +00:00
NAKAMURA Takumi
71b982b41f
clang-tidy: Instantiate llvm::Registry<clang::tidy::ClangTidyModule>.
...
llvm-svn: 212271
2014-07-03 14:12:47 +00:00
NAKAMURA Takumi
3dd23a337c
clang-modernize: Instantiate llvm::Registry<TransformFactory>.
...
llvm-svn: 212270
2014-07-03 14:12:37 +00:00
Alexander Kornienko
742790cd9f
Consistently handle clang-tidy check names in ClangTidyError.
...
Summary:
This patch removes " [check-name]" from the end of
ClangTidyMessage::Message. The " [check-name]" part is only appended when
printing diagnostics on the console. Clang errors are now marked with
"clang-diagnostic-error" check name, remarks and unknown warnings are marked
with "clang-diagnostic-unknown".
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4356
llvm-svn: 212180
2014-07-02 15:05:04 +00:00
Alexander Kornienko
94a656477d
Initialize ClangTidyMessage::FileOffset field to avoid unitialized variable access when sorting errors on output.
...
llvm-svn: 212042
2014-06-30 14:29:03 +00:00
Alexander Kornienko
e3b7839bfc
Added a comment to document relation of this check to -Wold-style-cast.
...
llvm-svn: 212033
2014-06-30 09:54:12 +00:00
Alexander Kornienko
276fc642d3
Another attempt to add a clang-tidy check for flagging C-style casts.
...
Summary:
The first version failed the SubstNonTypeTempateParmExpr-related test
on some buildbots. This one uses the new substNonTypeTempateParmExpr matcher to
filter out implicit C-style casts.
This patch depends on D4327.
Reviewers: djasper
Reviewed By: djasper
Subscribers: aemerson, cfe-commits
Differential Revision: http://reviews.llvm.org/D4328
llvm-svn: 212002
2014-06-29 22:19:53 +00:00
NAKAMURA Takumi
360096e701
Make clang-tidy-diff.py py3-compatible.
...
llvm-svn: 211834
2014-06-27 01:10:18 +00:00
NAKAMURA Takumi
25dadfd2a8
Suppress clang-tools-extra/test/clang-tidy/clang-tidy-diff.cpp on win32 due to dos path issue.
...
I'll fix it later.
llvm-svn: 211831
2014-06-27 00:55:16 +00:00
Alexander Kornienko
47e8e72a80
Make the clang-tidy-diff.py test conditional on the presence of Python 2.7. Use the python binary from the configuration.
...
llvm-svn: 211789
2014-06-26 16:32:26 +00:00
NAKAMURA Takumi
2d8dcc5bd1
Suppress clang-tidy-diff.py. It is incompatible to py26 due to argparse.
...
llvm-svn: 211741
2014-06-25 23:13:34 +00:00
Alexander Kornienko
cd11179374
Rolling back, as the test fails on one of the buildbots:
...
http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/13505/steps/check-all/logs/Clang%20Tools%3A%3Ac-style-casts.cpp
llvm-svn: 211708
2014-06-25 15:33:35 +00:00
Alexander Kornienko
a9b7ec18f1
Apparently, some versions of diff like -U0 more than -u0.
...
llvm-svn: 211703
2014-06-25 14:56:58 +00:00
Alexander Kornienko
73ba424506
Add a check to flag the usage of C-style casts (Google Style).
...
Summary:
Add a check to flag the usage of C-style casts, as per Google Style
Guide:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Casting#Casting
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4189
llvm-svn: 211702
2014-06-25 14:52:44 +00:00
Alexander Kornienko
1de35e719f
Add clang-tidy-diff.py script to run clang-tidy and display warnings on changed lines only.
...
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4288
llvm-svn: 211698
2014-06-25 14:09:52 +00:00
Alp Toker
b5fbfa2bab
Track changes from clang r211448.
...
llvm-svn: 211450
2014-06-21 23:33:00 +00:00
Daniel Jasper
024ebf4a65
clang-tidy: [misc-use-override] Correctly handle defaulted destructors.
...
Also, minor implementation and test fixes.
llvm-svn: 211345
2014-06-20 09:12:46 +00:00
David Blaikie
92fc741998
Unbreak the build after r211244.
...
These operator overloads were unneeded (once the const correctness in
PooledStringPtr was corrected) and inefficient (since the strings are
pooled the pointers can just be compared for equality instead of doing
strcmp).
llvm-svn: 211245
2014-06-19 00:43:19 +00:00
Alexander Kornienko
72f1e754a7
Move google-explicit-constructor check to a separate source file.
...
Summary: No functional changes.
Reviewers: djasper
Reviewed By: djasper
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4188
llvm-svn: 211154
2014-06-18 09:33:46 +00:00
Rafael Espindola
c7f0d23f56
Prefix error_code with std.
...
llvm-svn: 210840
2014-06-12 22:08:48 +00:00
Rafael Espindola
002840cf66
Quick build fix.
...
llvm-svn: 210838
2014-06-12 22:01:48 +00:00
Rafael Espindola
fd85bb3424
include system_error directly.
...
llvm-svn: 210797
2014-06-12 16:53:02 +00:00
Rafael Espindola
15c5784d3c
Replace llvm::error_code with std::error_code.
...
llvm-svn: 210776
2014-06-12 13:32:11 +00:00
Alexander Kornienko
3095b420f4
A follow-up to r210260: updated a comment. No functional changes.
...
llvm-svn: 210767
2014-06-12 11:25:45 +00:00
Alp Toker
f77acce059
Track clang changes from r210758
...
llvm-svn: 210759
2014-06-12 10:16:11 +00:00
Rafael Espindola
d9ba837bfd
Use generic_category from the std namespace.
...
llvm-svn: 210735
2014-06-12 01:57:33 +00:00
Daniel Jasper
05bdb09da1
clang-tidy: [use-override] Remove 'override' if 'final' is also present.
...
Also, make warning more precise by distinguishing different cases.
llvm-svn: 210651
2014-06-11 12:18:24 +00:00
Alp Toker
9d63b5eb7f
Prospective build fix following clang r210518
...
llvm-svn: 210521
2014-06-10 09:58:45 +00:00
Craig Topper
6014c49921
Simplify code. No functional change.
...
llvm-svn: 210508
2014-06-10 04:50:50 +00:00