clang-modernize: Transform::createActionFactory return ownership by unique_ptr instead of raw pointer.

Follow up to r213851 to simplify code and reduce the chance of future
leaks.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215214 91177308-0d34-0410-b5e6-96231b3b80d8
Recommit 213308: unique_ptr-ify ownership of ASTConsumers (reverted in r213324)

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.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215324 91177308-0d34-0410-b5e6-96231b3b80d8
Update for API change in r215391


git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215392 91177308-0d34-0410-b5e6-96231b3b80d8
Allow specifying file names and extra arguments when running clang-tidy unit tests.

Will become useful soon.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215438 91177308-0d34-0410-b5e6-96231b3b80d8
[clang-tidy] Disable the warning on implicit bool* to bool conversion in macros.

It's just too noisy and the warning isn't very helpful in those cases.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215439 91177308-0d34-0410-b5e6-96231b3b80d8
Update for API change in clang.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215452 91177308-0d34-0410-b5e6-96231b3b80d8
[clang-query] Use the new API for named values from the Parser.

Summary: This finishes the support for autocomplete for user defined values..

Reviewers: pcc

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215474 91177308-0d34-0410-b5e6-96231b3b80d8
Also run extra tools unit tests in shared library builds.

Took me way too long to figure out why they didn't run.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215543 91177308-0d34-0410-b5e6-96231b3b80d8
Try to unbreak the Makefile build.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215545 91177308-0d34-0410-b5e6-96231b3b80d8
[clang-tidy] Add a generic header guard checker + LLVM implementation.

The implementation is split into a generic part and a LLVM-specific part.
Other codebases can implement it with their own style. The specific features
supported are:

- Verification (and fixing) of header guards against a style based on the file path
- Automatic insertion of header guards for headers that are missing them
- A warning when the header guard doesn't enable our fancy header guard optimization
(e.g. when there's an include preceeding the guard)
- Automatic insertion of a comment with the guard name after #endif.

For the LLVM style we disable #endif comments for now, they're not very common
in the codebase. We also only flag headers in the include directories, there
doesn't seem to be a common style outside.

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215548 91177308-0d34-0410-b5e6-96231b3b80d8
Fix linking in the Makefile build.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215550 91177308-0d34-0410-b5e6-96231b3b80d8
In ancient times build targets had to be sorted topologically. Sometimes this behavior can still be observed today.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215553 91177308-0d34-0410-b5e6-96231b3b80d8
[CMake] Update libdeps in clangTidyLLVMModule.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215589 91177308-0d34-0410-b5e6-96231b3b80d8
ClangTidyTests: Suppress FixHeaderGuards on win32 for now.

FIXME: It seems this might be incompatible to dos path. Investigating.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215590 91177308-0d34-0410-b5e6-96231b3b80d8
AvoidCStyleCastsCheck: don't warn on casts in macros

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215799 91177308-0d34-0410-b5e6-96231b3b80d8
First version of a clang-rename tool.

Summary:
Note that this code is still grossly under-tested - the next steps will
be to add significantly better test coverage.

Patch by Matthew Plant.

Test Plan:

Reviewers:

Subscribers:

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215839 91177308-0d34-0410-b5e6-96231b3b80d8
Remove mention of non-existent 'test' directory.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215840 91177308-0d34-0410-b5e6-96231b3b80d8
Fix link libraries for clang-rename.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215843 91177308-0d34-0410-b5e6-96231b3b80d8
Suppress ClangRenameTests/USRLocFinding.FindsVarUSR on msc17 for now. Will fix later.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215854 91177308-0d34-0410-b5e6-96231b3b80d8
Remove initializer list.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@215857 91177308-0d34-0410-b5e6-96231b3b80d8