summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/modernize
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2019-05-08 08:52:18 +0000
committerIlya Biryukov <ibiryukov@google.com>2019-05-08 08:52:18 +0000
commit4c32d4fd9f07af76eb96e2e91da1a3df983bf9e7 (patch)
tree86fae42cc163c8d7d7718aa964cc7f9746c02279 /clang-tools-extra/clang-tidy/modernize
parente96c98f37d3d481ad2f1a96a8ddadd1c8614056f (diff)
downloadbcm5719-llvm-4c32d4fd9f07af76eb96e2e91da1a3df983bf9e7.tar.gz
bcm5719-llvm-4c32d4fd9f07af76eb96e2e91da1a3df983bf9e7.zip
[clang-tidy] Do not show incorrect fix in modernize-make-unique
Summary: The case when initialize_list hides behind an implicit case was not handled before. Reviewers: aaron.ballman Reviewed By: aaron.ballman Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61642 llvm-svn: 360231
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize')
-rw-r--r--clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
index b371345c3cb..179a09745e8 100644
--- a/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
@@ -292,12 +292,13 @@ bool MakeSmartPtrCheck::replaceNew(DiagnosticBuilder &Diag,
// Foo{1} => false
auto HasListIntializedArgument = [](const CXXConstructExpr *CE) {
for (const auto *Arg : CE->arguments()) {
+ Arg = Arg->IgnoreImplicit();
+
if (isa<CXXStdInitializerListExpr>(Arg) || isa<InitListExpr>(Arg))
return true;
// Check whether we implicitly construct a class from a
// std::initializer_list.
- if (const auto *ImplicitCE =
- dyn_cast<CXXConstructExpr>(Arg->IgnoreImplicit())) {
+ if (const auto *ImplicitCE = dyn_cast<CXXConstructExpr>(Arg)) {
if (ImplicitCE->isStdInitListInitialization())
return true;
}
OpenPOWER on IntegriCloud