From e7ea28a5855beaa828e11f5b1ffe6cf0d6209861 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Tue, 10 Apr 2012 17:30:10 +0000 Subject: [PATCH] objective-c: remove IsConstProperty as it does not seem to get called any more. Also add an assert in isModifiableLvalue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154410 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/SemaExpr.cpp | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index bf9b0ae988..1711f356c6 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -7143,21 +7143,6 @@ static bool IsReadonlyProperty(Expr *E, Sema &S) { return false; } -static bool IsConstProperty(Expr *E, Sema &S) { - const ObjCPropertyRefExpr *PropExpr = dyn_cast(E); - if (!PropExpr) return false; - - assert(!S.Context.hasSameType(PropExpr->getType(), - S.Context.PseudoObjectTy) - && "property expression cannot be a pseudo object"); - - if (PropExpr->isImplicitProperty()) return false; - - ObjCPropertyDecl *PDecl = PropExpr->getExplicitProperty(); - QualType T = PDecl->getType().getNonReferenceType(); - return T.isConstQualified(); -} - static bool IsReadonlyMessage(Expr *E, Sema &S) { const MemberExpr *ME = dyn_cast(E); if (!ME) return false; @@ -7197,13 +7182,12 @@ static NonConstCaptureKind isReferenceToNonConstCapture(Sema &S, Expr *E) { /// CheckForModifiableLvalue - Verify that E is a modifiable lvalue. If not, /// emit an error and return true. If so, return false. static bool CheckForModifiableLvalue(Expr *E, SourceLocation Loc, Sema &S) { + assert(!E->hasPlaceholderType(BuiltinType::PseudoObject)); SourceLocation OrigLoc = Loc; Expr::isModifiableLvalueResult IsLV = E->isModifiableLvalue(S.Context, &Loc); if (IsLV == Expr::MLV_Valid && IsReadonlyProperty(E, S)) IsLV = Expr::MLV_ReadonlyProperty; - else if (IsLV == Expr::MLV_ConstQualified && IsConstProperty(E, S)) - IsLV = Expr::MLV_Valid; else if (IsLV == Expr::MLV_ClassTemporary && IsReadonlyMessage(E, S)) IsLV = Expr::MLV_InvalidMessageExpression; if (IsLV == Expr::MLV_Valid) -- 2.40.0