[clang] 95b423e - [Sema] NFC. Simplify code in a few places of TryOrBuildParenListInitialization
Ilya Biryukov via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 22 03:50:56 PST 2023
Author: Ilya Biryukov
Date: 2023-12-22T12:41:52+01:00
New Revision: 95b423e44f6f35651bb1e7d4f6e0591df71360af
URL: https://github.com/llvm/llvm-project/commit/95b423e44f6f35651bb1e7d4f6e0591df71360af
DIFF: https://github.com/llvm/llvm-project/commit/95b423e44f6f35651bb1e7d4f6e0591df71360af.diff
LOG: [Sema] NFC. Simplify code in a few places of TryOrBuildParenListInitialization
Added:
Modified:
clang/lib/Sema/SemaInit.cpp
Removed:
################################################################################
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index 0fbd87ce34db90..d5ba7fd3413718 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -25,6 +25,7 @@
#include "clang/Sema/EnterExpressionEvaluationContext.h"
#include "clang/Sema/Initialization.h"
#include "clang/Sema/Lookup.h"
+#include "clang/Sema/Ownership.h"
#include "clang/Sema/SemaInternal.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/FoldingSet.h"
@@ -5429,18 +5430,12 @@ static void TryOrBuildParenListInitialization(
auto HandleInitializedEntity = [&](const InitializedEntity &SubEntity,
const InitializationKind &SubKind,
Expr *Arg, Expr **InitExpr = nullptr) {
- InitializationSequence IS = [&]() {
- if (Arg)
- return InitializationSequence(S, SubEntity, SubKind, Arg);
- return InitializationSequence(S, SubEntity, SubKind, std::nullopt);
- }();
+ InitializationSequence IS = InitializationSequence(
+ S, SubEntity, SubKind, Arg ? MultiExprArg(Arg) : std::nullopt);
if (IS.Failed()) {
if (!VerifyOnly) {
- if (Arg)
- IS.Diagnose(S, SubEntity, SubKind, Arg);
- else
- IS.Diagnose(S, SubEntity, SubKind, std::nullopt);
+ IS.Diagnose(S, SubEntity, SubKind, Arg ? ArrayRef(Arg) : std::nullopt);
} else {
Sequence.SetFailed(
InitializationSequence::FK_ParenthesizedListInitFailed);
@@ -5450,10 +5445,8 @@ static void TryOrBuildParenListInitialization(
}
if (!VerifyOnly) {
ExprResult ER;
- if (Arg)
- ER = IS.Perform(S, SubEntity, SubKind, Arg);
- else
- ER = IS.Perform(S, SubEntity, SubKind, std::nullopt);
+ ER = IS.Perform(S, SubEntity, SubKind,
+ Arg ? MultiExprArg(Arg) : std::nullopt);
if (InitExpr)
*InitExpr = ER.get();
else
More information about the cfe-commits
mailing list