================ @@ -2896,6 +2896,9 @@ class TreeTransform { SS.Adopt(QualifierLoc); Base = BaseResult.get(); + if (Base->containsErrors()) + return ExprError(); ---------------- sdkrystian wrote:
@mizvekov The problems arise when we build a `MemberExpr` for a class member access expression with an object expression that isn't dependent (as far as clang is concerned), but is _indirectly_ dependent (i.e. may instantiate to an expression of a different type). If the object expression is transformed into a `RecoveryExpr`, we end up with a `MemberExpr` that has the type `ASTContext::DependentTy` -- which we _could_ recover from by rebuilding it as a `RecoveryExpr` (or `CXXDependentScopeMemberExpr`), but the simplest solution is to simply bail as we do in practically every other case when part of the class member access expression instantiates to something invalid. https://github.com/llvm/llvm-project/pull/97455 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits