[PATCH] D27166: [clang-tidy] Enhance modernize-use-auto to templated function casts

Malcolm Parsons via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 14 06:59:03 PST 2016


malcolm.parsons added a comment.

In https://reviews.llvm.org/D27166#622103, @Prazek wrote:

> There is still one more problem:
>
>   /home/prazek/llvm/lib/Analysis/ScalarEvolution.cpp:2442:11: warning: use auto when initializing with a template cast to avoid duplicating the type name [modernize-use-auto]
>     const auto **O = SCEVAllocator.Allocate<const SCEV *>(Ops.size());
>           ^
>           auto 


Any suggestions for rewriting this matcher?

  // Skip declarations that are already using auto.
  unless(has(varDecl(anyOf(hasType(autoType()),
                           hasType(pointerType(pointee(autoType()))),
                           hasType(referenceType(pointee(autoType())))))))

> There is also problem with function pointers
> 
>   /home/prazek/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp:520:9: warning: use auto when initializing with a cast to avoid duplicating the type name [modernize-use-auto]
>         int (*PF)(int, char **, const char **) =
>         ^
>         auto                                                                                                                                                                                                                             

The warning is correct, but the fixit is wrong.
Suppress fixit for function pointers?


https://reviews.llvm.org/D27166





More information about the cfe-commits mailing list