Skip to content

Commit eb31ca0

Browse files
committed
Use std::find_if instead of std::for_each to find default constructor
1 parent 418365d commit eb31ca0

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3957,16 +3957,11 @@ class SyclKernelBodyCreator : public SyclKernelFieldHandler {
39573957
bool handleSpecialType(FieldDecl *FD, QualType Ty) {
39583958
const auto *RecordDecl = Ty->getAsCXXRecordDecl();
39593959
AccessSpecifier DefaultConstructorAccess;
3960-
CXXConstructorDecl *DefaultConstructor;
3961-
std::for_each(RecordDecl->ctor_begin(), RecordDecl->ctor_end(),
3962-
[&](auto elem) {
3963-
if (elem->isDefaultConstructor()) {
3964-
DefaultConstructorAccess = elem->getAccess();
3965-
elem->setAccess(AS_public);
3966-
DefaultConstructor = elem;
3967-
}
3968-
});
3969-
3960+
auto DefaultConstructor =
3961+
std::find_if(RecordDecl->ctor_begin(), RecordDecl->ctor_end(),
3962+
[](auto it) { return it->isDefaultConstructor(); });
3963+
DefaultConstructorAccess = DefaultConstructor->getAccess();
3964+
DefaultConstructor->setAccess(AS_public);
39703965
addFieldInit(FD, Ty, std::nullopt,
39713966
InitializationKind::CreateDefault(KernelCallerSrcLoc));
39723967
DefaultConstructor->setAccess(DefaultConstructorAccess);

0 commit comments

Comments
 (0)