[clang] [clang] fix sema init crash for not checking a ExprResult (PR #98102)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 9 05:26:02 PDT 2024


================
@@ -5576,6 +5576,10 @@ static void TryOrBuildParenListInitialization(
       ExprResult ER;
       ER = IS.Perform(S, SubEntity, SubKind,
                       Arg ? MultiExprArg(Arg) : std::nullopt);
+
+      if (ER.isInvalid())
----------------
AaronBallman wrote:

Under what circumstances does `IS.Failed()` return `false` above but when we perform the initialization we get a null expression back? That seems strange to me -- I would have naively expected `Failed()` to return `true` in such a case. WDYT?

https://github.com/llvm/llvm-project/pull/98102


More information about the cfe-commits mailing list