[clang-tools-extra] r213740 - Add the fix that should've accompanied r213738.

Benjamin Kramer benny.kra at gmail.com
Wed Jul 23 05:21:16 PDT 2014


On Wed, Jul 23, 2014 at 2:07 PM, Alexander Kornienko <alexfh at google.com> wrote:
> On Wed, Jul 23, 2014 at 1:50 PM, Benjamin Kramer <benny.kra at googlemail.com>
> wrote:
>>
>> Author: d0k
>> Date: Wed Jul 23 06:50:54 2014
>> New Revision: 213740
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=213740&view=rev
>> Log:
>> Add the fix that should've accompanied r213738.
>>
>> Modified:
>>     clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp
>>
>> Modified: clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp?rev=213740&r1=213739&r2=213740&view=diff
>>
>> ==============================================================================
>> --- clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp (original)
>> +++ clang-tools-extra/trunk/clang-tidy/misc/UnusedRAII.cpp Wed Jul 23
>> 06:50:54 2014
>> @@ -34,7 +34,6 @@ void UnusedRAIICheck::registerMatchers(M
>>                anyOf(recordDecl(ast_matchers::isTemplateInstantiation()),
>>
>> functionDecl(ast_matchers::isTemplateInstantiation()))))),
>>            hasParent(compoundStmt().bind("compound")),
>> -          hasDescendant(typeLoc().bind("typeloc")),
>>            hasType(recordDecl(hasUserDeclaredDestructor())),
>>            anyOf(has(BindTemp), has(functionalCastExpr(has(BindTemp)))))
>>            .bind("expr"),
>> @@ -71,8 +70,12 @@ void UnusedRAIICheck::check(const MatchF
>>        return;
>>      }
>>
>> -  // Otherwise just suggest adding a name.
>> -  const auto *TL = Result.Nodes.getNodeAs<TypeLoc>("typeloc");
>> +  // Otherwise just suggest adding a name. To find the place to insert
>> the name
>> +  // find the first TypeLoc in the children of E, which always points to
>> the
>> +  // written type.
>> +  const auto *TL =
>> +      selectFirst<TypeLoc>("t",
>> match(expr(hasDescendant(typeLoc().bind("t"))),
>> +                                      *E, *Result.Context));
>
>
> Can't you just match typeLoc()?

I tried that and it doesn't work. Neither does findAll(typeLoc()).
Took me a while to come up with the current incantation :|

- Ben

>>
>>    D << FixItHint::CreateInsertion(
>>        Lexer::getLocForEndOfToken(TL->getLocEnd(), 0,
>> *Result.SourceManager,
>>                                   Result.Context->getLangOpts()),
>>
>>
>



More information about the cfe-commits mailing list