================ @@ -5576,6 +5576,10 @@ static void TryOrBuildParenListInitialization( ExprResult ER; ER = IS.Perform(S, SubEntity, SubKind, Arg ? MultiExprArg(Arg) : std::nullopt); + + if (ER.isInvalid()) ---------------- yuxuanchen1997 wrote:
If you look at `InitializationSequence::Perform` (this function is 1000 lines long), it first checks `Failed()` then proceed to build a whole bunch of things. There are a couple of places it returned `ExprError`. I think it's possible to still be invalid after `!Failed()`. https://github.com/llvm/llvm-project/pull/98102 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits