Граф коммитов

726 Коммитов

Автор SHA1 Сообщение Дата
Felix Berger f506f18103 [clang-tidy] UnnecessaryCopyInitialization - Extend to trigger on non-const "this" object argument if it is not modified.
Summary:

Also trigger the check in the following case:

void foo() {
  ExpensiveToCopy Obj;
  const auto UnnecessaryCopy = Obj.constReference();
  Obj.onlyUsedAsConst();
}

i.e. when the object the method is called on is not const but is never
modified.

Reviewers: alexfh, fowles

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@271239 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31 00:25:57 +00:00
Etienne Bergeron d3a1e8c51d [clang-tidy] Remove redundant quote in add_new_check script
Summary:
Remove redundant quote.
These quotes were added here: http://reviews.llvm.org/D20766

Reviewers: bkramer

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@271210 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-30 15:42:08 +00:00
Etienne Bergeron 614606a3cb [clang-tidy] Fix script adding new clang-tidy check
Summary:
The `getName()` call is useless. It's better to show a better example
as tutorial.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@271207 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-30 15:05:10 +00:00
Haojian Wu 19bc5e9223 Fix a wrong check in misc-unused-using-decls
Summary:
We should check whether a UsingDecl is defined in macros or in class
definition, not TargetDecls of the UsingDecl.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@271199 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-30 07:42:22 +00:00
Samuel Benzaquen b318041e71 Speed up check by using a recursive visitor.
Summary:
Use a recursive visitor instead of forEachDescendant() matcher.
The latter requires several layers of virtual function calls for each node and
it is more expensive than the visitor.
Benchmark results show improvement of ~6% walltime in clang-tidy.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270714 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-25 16:19:23 +00:00
Mads Ravn 43756df71c [clang-tidy] modernize-pass-by-value bugfix
Modified the clang-tidy PassByValue check. It now stops adding std::move to type which is trivially copyable because that caused the clang-tidy MoveConstArg to complain and revert, thus creating a cycle.

I have also added a lit-style test to verify the bugfix.

This is the bug on bugzilla: https://llvm.org/bugs/show_bug.cgi?id=27731

This is the code review on phabricator: http://reviews.llvm.org/D20365


git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270565 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-24 15:00:16 +00:00
Mads Ravn de7f6bdc48 Commiting for http://reviews.llvm.org/D20365
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270473 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23 18:27:05 +00:00
Mads Ravn 23033da3e3 Commiting for http://reviews.llvm.org/D20365
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270472 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23 18:15:40 +00:00
Mads Ravn 4556aeda97 Commiting for http://reviews.llvm.org/D20365
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270470 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-23 18:06:29 +00:00
Alexander Kornienko 3f89bf0a1a [clang-tidy] Switch to a more common way of customizing check behavior.
This should have been done this way from the start, however I somehow missed
r257177.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270215 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-20 13:42:40 +00:00
Haojian Wu 143cc34207 [clang-tidy] Handle using-decls with more than one shadow decl.
Reviewers: alexfh

Subscribers: cfe-commits, djasper

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270191 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-20 08:34:32 +00:00
Alexander Kornienko c90e93fa92 [clang-tidy] Fix/add style guide links.
Thanks to Tim Halloran for the initial patch (http://reviews.llvm.org/D15089)!


git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@270033 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-19 09:31:30 +00:00
Haojian Wu be640cbf68 [clang-tidy] Use unresolvedLookupExpr node matcher from ASTMatcher.
Reviewers: alexfh, aaron.ballman

Subscribers: aaron.ballman, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269928 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-18 14:11:20 +00:00
Haojian Wu 1ba2168830 [clang-tidy] Fix a template function false positive in misc-unused-using-decls check.
Summary: Ignore warning uninstantiated template function usages.

Reviewers: djasper, alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269906 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-18 11:49:34 +00:00
Benjamin Kramer 296bbc1e5a [clang-tidy] Fix a functional change from r269656.
Instead of forming char ranges that patch made us form token ranges,
which behave subtly different. Sadly I'm only seeing this as part of a
larger test case that I haven't fully reduced yet.

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269896 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-18 09:48:46 +00:00
Etienne Bergeron 4bf4c41580 [clang-tidy] Lift common matchers to utils namespace
Summary:
This patch is lifting matchers used by more than one checkers
to the common namespace.

Reviewers: aaron.ballman, alexfh

Subscribers: aaron.ballman, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269804 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-17 19:36:09 +00:00
Vedant Kumar 0349520a7e [clang-tidy] Skip misc-macro-parentheses for namespaces (Fix PR27400)
If a use of a macro argument is preceded by the `namespace` keyword, do
not warn that the use should be wrapped in parentheses.

Patch by Mads Ravn!

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269786 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-17 17:26:02 +00:00
Etienne Bergeron 5a8e0be270 [clang-tidy] Cleanups utils files
Summary:
Cleanup some code by using appropriate APIs.
Some coding style cleanups.

There is no behavior changes.

 - Function `IncludeSorter::CreateFixIt` can be replaced by `FixItHint::CreateReplacement`.
 - Function `cleanPath` is a wrapper for `llvm::sys::path::remove_dots`.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269656 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-16 14:34:20 +00:00
Felix Berger 64c4a78fe4 [clang-tidy] TypeTraits - Type is not expensive to copy when it has a deleted copy constructor.
Reviewers: alexfh, sbenza

Subscribers: etienneb, aaron.ballman, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269581 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-14 22:43:50 +00:00
Felix Berger 938ce786e6 [clang-tidy] - PerformanceUnnecesaryCopyInitialization - only trigger for decl stmts with single VarDecl.
Summary: This fixes bug: https://llvm.org/bugs/show_bug.cgi?id=27325

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269389 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-13 02:47:56 +00:00
Jonathan Coe a53fccc212 [clang-tidy] Adds modernize-avoid-bind check
Summary:
This patch adds a check that replaces std::bind with a lambda.

Not yet working for member functions.

Reviewers: aaron.ballman, alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269341 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-12 20:06:04 +00:00
Haojian Wu 3bb156523a [clang-tidy] Ignore using-declarations defined in marcro in misc-unused-using-decls checks.
Reviewers: djasper

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269278 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-12 10:00:49 +00:00
Etienne Bergeron b799d4171a [clang-tidy] Improve misc-redundant-expression and decrease false-positive
Summary:
This patch is adding support for conditional expression and overloaded operators.

To decrease false-positive, this patch is adding a list of banned macro names that
has multiple variant with same integer value.

Also fixed support for template instantiation and added an unittest.

Reviewers: alexfh

Subscribers: klimek, Sarcasm, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269275 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-12 04:32:47 +00:00
Etienne Bergeron bfab925c11 [clang-tidy] Add missing dependency of libtooling to misc module
Summary:
The new API for fixit is in libtooling and the library misc in clang-tidy
didn't had the appropriate dependency.

This commit was breaking some build bots:
http://reviews.llvm.org/D19547

This commit tried (but failed) to fix it:
http://reviews.llvm.org/D20180

To repro, you can make a build with these flags:
```
cmake -DBUILD_SHARED_LIBS=ON
```

Thanks rnk@ for helping figuring out.

Reviewers: alexfh, rnk

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269240 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-11 21:32:29 +00:00
Etienne Bergeron f8ab578c18 [clang-tidy] Refactoring of FixHintUtils
Summary:
Refactor some checkers to use the tooling re-writing API.
see: http://reviews.llvm.org/D19941

Reviewers: klimek, alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269210 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-11 17:38:22 +00:00
Etienne Bergeron a1fe0760f4 [clang-tidy] Add FixIt for swapping arguments in string-constructor-checker.
Summary:
Arguments can be swapped using fixit when they are not in macros.
This is the same implementation than SwappedArguments. Some code 
got lifted to be reused.

Others checks are not safe to be fixed as they tend to be bugs or errors.
It is better to let the user manually review them.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269208 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-11 17:32:12 +00:00
Jakub Staron 03a2247912 [clang-tidy] Adds modernize-use-bool-literals check.
Review link: http://reviews.llvm.org/D18745

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269171 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-11 11:33:16 +00:00
Etienne Bergeron 6fce394f70 [clang-tidy] Lift parsing of sequence of names functions to utils.
Summary:
Lift some common code used by multiple checkers.

This function is also used by checkers that are coming.
It is quite common for a checker to parse a list of names.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269065 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-10 15:31:15 +00:00
Haojian Wu 9a592f11d3 Fixed cppcoreguidelines-pro-type-member-init when checking records with indirect fields
Summary:
Fixed a crash in cppcoreguidelines-pro-type-member-init when checking record types with indirect fields pre-C++11.
Fixed handling of indirect fields so they are properly checked and suggested fixes are proposed.

Patch by Michael Miller!

Reviewers: aaron.ballman, alexfh, hokein

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@269024 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-10 07:42:19 +00:00
Haojian Wu 20c1ffcc2a [clang-tidy] new google-default-arguments check
Summary:
To check the google style guide rule here:
https://google.github.io/styleguide/cppguide.html#Default_Arguments

Patch by Clement Courbet!

Reviewers: hokein

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268919 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-09 13:43:58 +00:00
Haojian Wu fbf7629610 Support variables and functions types in misc-unused-using-decls.
Summary: Fix PR27429.

Reviewers: djasper

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268917 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-09 13:37:12 +00:00
Alexander Kornienko 47fbc0496a Trying to fix docs.
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268905 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-09 10:56:57 +00:00
Alexander Kornienko a8138626ba [clang-tidy] Apply NOLINT filtering to Clang warnings.
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268555 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-04 21:18:31 +00:00
Gabor Horvath cf19728ede [clang-tidy] New: checker misc-unconventional-assign-operator replacing misc-assign-operator-signature
Summary: Finds return statements in assign operator bodies where the return value is different from '*this'. Only assignment operators with correct return value Class& are checked.

Reviewers: aaron.ballman, alexfh, sbenza

Subscribers: o.gyorgy, baloghadamsoftware, LegalizeAdulthood, aaron.ballman, Eugene.Zelenko, xazax.hun, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268492 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-04 12:02:22 +00:00
Felix Berger 84f5259cbc [clang-tidy] MoveConstructorInitCheck - Add parameter name to check message.
Reviewers: alexfh

Subscribers: aaron.ballman, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268461 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 23:07:44 +00:00
Samuel Benzaquen b9a137a3c4 [clang-tidy] Speedup misc-static-assert.
Summary:
Speedup the misc-static-assert check by not use `stmt()` as the toplevel matcher.
The framework runs a filter on the matchers before trying them on each node and
uses the toplevel type for this.
Using `stmt()` as the toplevel causes the matcher to be run on every `Stmt` node,
even if the node doesn't match the desired types.

This change speeds up clang-tidy by ~5% in a benchmark.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268430 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 20:11:09 +00:00
Haojian Wu a01ae3ea2b Fix a crash in cppcoreguidelines-pro-type-member-init when checking a class that initializes itself as a base
Summary: Fix a crash when a record type initializes itself in its own base class initializer list.

Patch by Michael Miller!

Reviewers: alexfh, aaron.ballman, hokein

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268369 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 08:11:47 +00:00
Etienne Bergeron 197372cb87 [clang-tidy] Cleanup namespace in utils folder.
Summary:
This is a step forward cleaning up the namespaces in clang-tidy/utils.
There is no behavior change.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268356 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 02:54:05 +00:00
Felix Berger fd58c1bcb9 [clang-tidy] ProTypeMemberInitCheck - check that field decls do not have in-class initializer.
Reviewers: alexfh, JVApen, aaron.ballman

Subscribers: flx, aaron.ballman, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268352 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 01:41:19 +00:00
Eugene Zelenko 087b7bae77 [Clang-tidy] Fix Clang-tidy modernize-use-override and some Include What You Use warnings in modernize/MakeSmartPtrCheck.h.
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268349 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-03 01:13:27 +00:00
Etienne Bergeron c80718012e [clang-tidy] Cleaning namespaces to be more consistant across checkers.
Summary:
The goal of the patch is to bring checkers in their appropriate namespace.
This path doesn't change any behavior.

Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268264 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-02 18:00:29 +00:00
Piotr Padlewski 34874aa21f [clang-tidy] Add modernize-make-shared check
Because modernize-make-shared do almost the same job as
modernize-make-unique, I refactored common code to MakeSmartPtrCheck.

http://reviews.llvm.org/D19183

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268253 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-02 16:56:39 +00:00
Aaron Ballman 4a6b61570a Add a clang-tidy check that flags string-to-number conversion functions that have insufficient error checking, suggesting a better alternative.
This check corresponds to: https://www.securecoding.cert.org/confluence/display/c/ERR34-C.+Detect+errors+when+converting+a+string+to+a+number

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268100 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-29 20:56:48 +00:00
Piotr Padlewski 889329f9f2 Add boost-use-to-string
http://reviews.llvm.org/D18136

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268079 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-29 17:58:29 +00:00
Piotr Padlewski 80f25a0692 small reformat to test access
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@268076 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-29 17:45:20 +00:00
Alexander Kornienko 669f9af538 [clang-tidy] cppcoreguidelines-pro-type-member-init should not complain about static variables
Summary:
Variables with static storage duration are zero-initialized per
[stmt.dcl]p4 and [basic.start.init]p2.

Reviewers: sbenza, aaron.ballman

Subscribers: michael_miller, flx, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@267933 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-28 20:20:01 +00:00
Stephen Hines a64349e622 Fix include path in ClangTidy.cpp.
Summary:
https://llvm.org/bugs/show_bug.cgi?id=27355
To compile with other binary output directory structures in build systems like Android.

Reviewers: srhines, alexfh

Subscribers: tberghammer, danalbert, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@267835 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-28 01:42:12 +00:00
Haojian Wu 0dcfb3a14f Fix a crash in cppcoreguidelines-pro-type-member-init when checking a type with a template parameter as a base class.
Summary: Fixed a crash in cppcoreguidelines-pro-type-member-init when encountering a type that uses one of its template parameters as a base when compiling for C++98.

Patch by Michael Miller!

Reviewers: aaron.ballman, alexfh, hokein

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@267700 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-27 12:17:04 +00:00
Alexander Kornienko c471abc387 clang-tidy -list-checks should exit with non-zero code when no checks are enabled.
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@267697 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-27 11:45:14 +00:00
Haojian Wu 67b26d6f44 [ClangTidy] Add an 'explain-checks' option to diagnose where each checks comes from.
Reviewers: alexfh

Subscribers: cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@267683 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-27 09:15:01 +00:00