================ @@ -1055,9 +1045,19 @@ Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType, } } - Diag(R.getNameLoc(), diag::err_no_member) - << MemberName << DC - << (BaseExpr ? BaseExpr->getSourceRange() : SourceRange()); + if (SS.isNotEmpty() && !DC) { + Diag(R.getNameLoc(), diag::err_undeclared_use) + << MemberName << SS.getRange(); + } else if (DC) { + Diag(R.getNameLoc(), diag::err_no_member) + << MemberName << DC + << (BaseExpr ? BaseExpr->getSourceRange() : SourceRange()); + } else { + // FIXME: Is this needed? ---------------- erichkeane wrote:
Did you try just asserting here? Also: I think I'd prefer us just merging this and the above branch, potentially with a ternary on `DC`. https://github.com/llvm/llvm-project/pull/84050 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits