Skip to content

Commit 65fc264

Browse files
committed
[clang-tidy] avoid diagnosing std::array initializations for modernize-use-designated-initializers when IgnoreSingleElementAggregates is false
1 parent bf1294a commit 65fc264

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,18 +119,16 @@ UseDesignatedInitializersCheck::UseDesignatedInitializersCheck(
119119
void UseDesignatedInitializersCheck::registerMatchers(MatchFinder *Finder) {
120120
const auto HasBaseWithFields =
121121
hasAnyBase(hasType(cxxRecordDecl(has(fieldDecl()))));
122-
123-
// see #133715
124-
const auto IsSTLArray =
125-
hasType(qualType(hasDeclaration(recordDecl(hasName("::std::array")))));
126-
127122
Finder->addMatcher(
128123
initListExpr(
129124
hasType(cxxRecordDecl(RestrictToPODTypes ? isPOD() : isAggregate(),
130-
unless(HasBaseWithFields))
125+
unless(anyOf(HasBaseWithFields,
126+
IgnoreSingleElementAggregates
127+
? hasName("::std::array")
128+
: anything())))
131129
.bind("type")),
132130
IgnoreSingleElementAggregates ? hasMoreThanOneElement() : anything(),
133-
unless(anyOf(isFullyDesignated(), IsSTLArray)))
131+
unless(isFullyDesignated()))
134132
.bind("init"),
135133
this);
136134
}

clang-tools-extra/docs/ReleaseNotes.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,8 @@ Changes in existing checks
173173

174174
- Improved :doc:`modernize-use-designated-initializers
175175
<clang-tidy/checks/modernize/use-designated-initializers>` check by avoiding
176-
diagnosing designated initializers for ``std::array`` initializations.
176+
diagnosing designated initializers for ``std::array`` initializations when
177+
`IgnoreSingleElementAggregates` is false.
177178

178179
- Improved :doc:`modernize-use-ranges
179180
<clang-tidy/checks/modernize/use-ranges>` check by updating suppress

0 commit comments

Comments
 (0)