diff options
-rw-r--r-- | Driver/PrintParserCallbacks.cpp | 2 | ||||
-rw-r--r-- | Driver/RewriteObjC.cpp | 4 | ||||
-rw-r--r-- | include/clang/AST/Expr.h | 14 | ||||
-rw-r--r-- | include/clang/AST/StmtNodes.def | 2 | ||||
-rw-r--r-- | include/clang/Parse/Action.h | 2 | ||||
-rw-r--r-- | lib/AST/Expr.cpp | 14 | ||||
-rw-r--r-- | lib/AST/StmtDumper.cpp | 12 | ||||
-rw-r--r-- | lib/AST/StmtPrinter.cpp | 10 | ||||
-rw-r--r-- | lib/AST/StmtSerialization.cpp | 10 | ||||
-rw-r--r-- | lib/Analysis/CheckObjCDealloc.cpp | 4 | ||||
-rw-r--r-- | lib/CodeGen/CGExpr.cpp | 12 | ||||
-rw-r--r-- | lib/CodeGen/CGExprScalar.cpp | 2 | ||||
-rw-r--r-- | lib/CodeGen/CGObjC.cpp | 6 | ||||
-rw-r--r-- | lib/CodeGen/CodeGenFunction.h | 2 | ||||
-rw-r--r-- | lib/Parse/ParseExpr.cpp | 2 | ||||
-rw-r--r-- | lib/Sema/Sema.h | 4 | ||||
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 2 | ||||
-rw-r--r-- | lib/Sema/SemaExpr.cpp | 12 | ||||
-rw-r--r-- | lib/Sema/SemaExprCXX.cpp | 4 | ||||
-rw-r--r-- | lib/Sema/SemaExprObjC.cpp | 4 |
20 files changed, 62 insertions, 62 deletions
diff --git a/Driver/PrintParserCallbacks.cpp b/Driver/PrintParserCallbacks.cpp index fec13e3909..caae11b861 100644 --- a/Driver/PrintParserCallbacks.cpp +++ b/Driver/PrintParserCallbacks.cpp @@ -403,7 +403,7 @@ namespace { return 0; } - virtual ExprResult ActOnPreDefinedExpr(SourceLocation Loc, + virtual ExprResult ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) { llvm::cout << __FUNCTION__ << "\n"; return 0; diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp index 59a77e7c59..0796b686b9 100644 --- a/Driver/RewriteObjC.cpp +++ b/Driver/RewriteObjC.cpp @@ -1941,8 +1941,8 @@ ObjCInterfaceDecl *RewriteObjC::isSuperReceiver(Expr *recExpr) { // check if we are sending a message to 'super' if (!CurMethodDecl || !CurMethodDecl->isInstance()) return 0; - if (PreDefinedExpr *PDE = dyn_cast<PreDefinedExpr>(recExpr)) - if (PDE->getIdentType() == PreDefinedExpr::ObjCSuper) { + if (PredefinedExpr *PDE = dyn_cast<PredefinedExpr>(recExpr)) + if (PDE->getIdentType() == PredefinedExpr::ObjCSuper) { const PointerType *PT = PDE->getType()->getAsPointerType(); assert(PT); ObjCInterfaceType *IT = cast<ObjCInterfaceType>(PT->getPointeeType()); diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h index 5d8cd43ac3..a92b940ead 100644 --- a/include/clang/AST/Expr.h +++ b/include/clang/AST/Expr.h @@ -229,8 +229,8 @@ public: static DeclRefExpr* CreateImpl(llvm::Deserializer& D, ASTContext& C); }; -/// PreDefinedExpr - [C99 6.4.2.2] - A pre-defined identifier such as __func__. -class PreDefinedExpr : public Expr { +/// PredefinedExpr - [C99 6.4.2.2] - A predefined identifier such as __func__. +class PredefinedExpr : public Expr { public: enum IdentType { Func, @@ -244,24 +244,24 @@ private: SourceLocation Loc; IdentType Type; public: - PreDefinedExpr(SourceLocation l, QualType type, IdentType IT) - : Expr(PreDefinedExprClass, type), Loc(l), Type(IT) {} + PredefinedExpr(SourceLocation l, QualType type, IdentType IT) + : Expr(PredefinedExprClass, type), Loc(l), Type(IT) {} IdentType getIdentType() const { return Type; } virtual SourceRange getSourceRange() const { return SourceRange(Loc); } static bool classof(const Stmt *T) { - return T->getStmtClass() == PreDefinedExprClass; + return T->getStmtClass() == PredefinedExprClass; } - static bool classof(const PreDefinedExpr *) { return true; } + static bool classof(const PredefinedExpr *) { return true; } // Iterators virtual child_iterator child_begin(); virtual child_iterator child_end(); virtual void EmitImpl(llvm::Serializer& S) const; - static PreDefinedExpr* CreateImpl(llvm::Deserializer& D, ASTContext& C); + static PredefinedExpr* CreateImpl(llvm::Deserializer& D, ASTContext& C); }; class IntegerLiteral : public Expr { diff --git a/include/clang/AST/StmtNodes.def b/include/clang/AST/StmtNodes.def index d156f92fb6..3f2b355ce3 100644 --- a/include/clang/AST/StmtNodes.def +++ b/include/clang/AST/StmtNodes.def @@ -58,7 +58,7 @@ LAST_STMT(23) FIRST_EXPR(31) // Expressions. STMT(31, Expr , Stmt) -STMT(32, PreDefinedExpr , Expr) +STMT(32, PredefinedExpr , Expr) STMT(33, DeclRefExpr , Expr) STMT(34, IntegerLiteral , Expr) STMT(35, FloatingLiteral , Expr) diff --git a/include/clang/Parse/Action.h b/include/clang/Parse/Action.h index 1f04826acd..110e26fd17 100644 --- a/include/clang/Parse/Action.h +++ b/include/clang/Parse/Action.h @@ -387,7 +387,7 @@ public: return 0; } - virtual ExprResult ActOnPreDefinedExpr(SourceLocation Loc, + virtual ExprResult ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) { return 0; } diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index 2f12c4e0b4..8cf3b37e85 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -439,9 +439,9 @@ Expr::isLvalueResult Expr::isLvalue(ASTContext &Ctx) const { return LV_Valid; case ObjCPropertyRefExprClass: // FIXME: check if read-only property. return LV_Valid; - case PreDefinedExprClass: - return (cast<PreDefinedExpr>(this)->getIdentType() - == PreDefinedExpr::CXXThis + case PredefinedExprClass: + return (cast<PredefinedExpr>(this)->getIdentType() + == PredefinedExpr::CXXThis ? LV_InvalidExpression : LV_Valid); case CXXDefaultArgExprClass: return cast<CXXDefaultArgExpr>(this)->getExpr()->isLvalue(Ctx); @@ -510,7 +510,7 @@ bool Expr::hasGlobalStorage() const { } case ArraySubscriptExprClass: return cast<ArraySubscriptExpr>(this)->getBase()->hasGlobalStorage(); - case PreDefinedExprClass: + case PredefinedExprClass: return true; case CXXDefaultArgExprClass: return cast<CXXDefaultArgExpr>(this)->getExpr()->hasGlobalStorage(); @@ -1263,9 +1263,9 @@ Stmt::child_iterator ObjCPropertyRefExpr::child_end() { return &Base+1; } Stmt::child_iterator ObjCSuperRefExpr::child_begin() { return child_iterator();} Stmt::child_iterator ObjCSuperRefExpr::child_end() { return child_iterator(); } -// PreDefinedExpr -Stmt::child_iterator PreDefinedExpr::child_begin() { return child_iterator(); } -Stmt::child_iterator PreDefinedExpr::child_end() { return child_iterator(); } +// PredefinedExpr +Stmt::child_iterator PredefinedExpr::child_begin() { return child_iterator(); } +Stmt::child_iterator PredefinedExpr::child_end() { return child_iterator(); } // IntegerLiteral Stmt::child_iterator IntegerLiteral::child_begin() { return child_iterator(); } diff --git a/lib/AST/StmtDumper.cpp b/lib/AST/StmtDumper.cpp index a710e233af..6d0569ecd5 100644 --- a/lib/AST/StmtDumper.cpp +++ b/lib/AST/StmtDumper.cpp @@ -116,7 +116,7 @@ namespace { // Exprs void VisitExpr(Expr *Node); void VisitDeclRefExpr(DeclRefExpr *Node); - void VisitPreDefinedExpr(PreDefinedExpr *Node); + void VisitPredefinedExpr(PredefinedExpr *Node); void VisitCharacterLiteral(CharacterLiteral *Node); void VisitIntegerLiteral(IntegerLiteral *Node); void VisitFloatingLiteral(FloatingLiteral *Node); @@ -308,14 +308,14 @@ void StmtDumper::VisitObjCIvarRefExpr(ObjCIvarRefExpr *Node) { fprintf(F, " isFreeIvar"); } -void StmtDumper::VisitPreDefinedExpr(PreDefinedExpr *Node) { +void StmtDumper::VisitPredefinedExpr(PredefinedExpr *Node) { DumpExpr(Node); switch (Node->getIdentType()) { default: assert(0 && "unknown case"); - case PreDefinedExpr::Func: fprintf(F, " __func__"); break; - case PreDefinedExpr::Function: fprintf(F, " __FUNCTION__"); break; - case PreDefinedExpr::PrettyFunction: fprintf(F, " __PRETTY_FUNCTION__");break; - case PreDefinedExpr::ObjCSuper: fprintf(F, "super"); break; + case PredefinedExpr::Func: fprintf(F, " __func__"); break; + case PredefinedExpr::Function: fprintf(F, " __FUNCTION__"); break; + case PredefinedExpr::PrettyFunction: fprintf(F, " __PRETTY_FUNCTION__");break; + case PredefinedExpr::ObjCSuper: fprintf(F, "super"); break; } } diff --git a/lib/AST/StmtPrinter.cpp b/lib/AST/StmtPrinter.cpp index 0984ca068b..a9818f8fcd 100644 --- a/lib/AST/StmtPrinter.cpp +++ b/lib/AST/StmtPrinter.cpp @@ -496,20 +496,20 @@ void StmtPrinter::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node) { // FIXME: OS << Node->getDecl()->getName(); } -void StmtPrinter::VisitPreDefinedExpr(PreDefinedExpr *Node) { +void StmtPrinter::VisitPredefinedExpr(PredefinedExpr *Node) { switch (Node->getIdentType()) { default: assert(0 && "unknown case"); - case PreDefinedExpr::Func: + case PredefinedExpr::Func: OS << "__func__"; break; - case PreDefinedExpr::Function: + case PredefinedExpr::Function: OS << "__FUNCTION__"; break; - case PreDefinedExpr::PrettyFunction: + case PredefinedExpr::PrettyFunction: OS << "__PRETTY_FUNCTION__"; break; - case PreDefinedExpr::ObjCSuper: + case PredefinedExpr::ObjCSuper: OS << "super"; break; } diff --git a/lib/AST/StmtSerialization.cpp b/lib/AST/StmtSerialization.cpp index 03091fe51f..cc26b278c3 100644 --- a/lib/AST/StmtSerialization.cpp +++ b/lib/AST/StmtSerialization.cpp @@ -130,8 +130,8 @@ Stmt* Stmt::Create(Deserializer& D, ASTContext& C) { case ParenExprClass: return ParenExpr::CreateImpl(D, C); - case PreDefinedExprClass: - return PreDefinedExpr::CreateImpl(D, C); + case PredefinedExprClass: + return PredefinedExpr::CreateImpl(D, C); case ReturnStmtClass: return ReturnStmt::CreateImpl(D, C); @@ -741,17 +741,17 @@ ParenExpr* ParenExpr::CreateImpl(Deserializer& D, ASTContext& C) { return new ParenExpr(L,R,val); } -void PreDefinedExpr::EmitImpl(Serializer& S) const { +void PredefinedExpr::EmitImpl(Serializer& S) const { S.Emit(Loc); S.EmitInt(getIdentType()); S.Emit(getType()); } -PreDefinedExpr* PreDefinedExpr::CreateImpl(Deserializer& D, ASTContext& C) { +PredefinedExpr* PredefinedExpr::CreateImpl(Deserializer& D, ASTContext& C) { SourceLocation Loc = SourceLocation::ReadVal(D); IdentType it = static_cast<IdentType>(D.ReadInt()); QualType Q = QualType::ReadVal(D); - return new PreDefinedExpr(Loc,Q,it); + return new PredefinedExpr(Loc,Q,it); } void ReturnStmt::EmitImpl(Serializer& S) const { diff --git a/lib/Analysis/CheckObjCDealloc.cpp b/lib/Analysis/CheckObjCDealloc.cpp index 39d1e05b94..f6a3fd0112 100644 --- a/lib/Analysis/CheckObjCDealloc.cpp +++ b/lib/Analysis/CheckObjCDealloc.cpp @@ -29,8 +29,8 @@ static bool scan_dealloc(Stmt* S, Selector Dealloc) { if (ObjCMessageExpr* ME = dyn_cast<ObjCMessageExpr>(S)) if (ME->getSelector() == Dealloc) if (Expr* Receiver = ME->getReceiver()->IgnoreParenCasts()) - if (PreDefinedExpr* E = dyn_cast<PreDefinedExpr>(Receiver)) - if (E->getIdentType() == PreDefinedExpr::ObjCSuper) + if (PredefinedExpr* E = dyn_cast<PredefinedExpr>(Receiver)) + if (E->getIdentType() == PredefinedExpr::ObjCSuper) return true; // Recurse to children. diff --git a/lib/CodeGen/CGExpr.cpp b/lib/CodeGen/CGExpr.cpp index 7c5feb169b..091001e734 100644 --- a/lib/CodeGen/CGExpr.cpp +++ b/lib/CodeGen/CGExpr.cpp @@ -104,8 +104,8 @@ LValue CodeGenFunction::EmitLValue(const Expr *E) { case Expr::CallExprClass: return EmitCallExprLValue(cast<CallExpr>(E)); case Expr::DeclRefExprClass: return EmitDeclRefLValue(cast<DeclRefExpr>(E)); case Expr::ParenExprClass:return EmitLValue(cast<ParenExpr>(E)->getSubExpr()); - case Expr::PreDefinedExprClass: - return EmitPreDefinedLValue(cast<PreDefinedExpr>(E)); + case Expr::PredefinedExprClass: + return EmitPredefinedLValue(cast<PredefinedExpr>(E)); case Expr::StringLiteralClass: return EmitStringLiteralLValue(cast<StringLiteral>(E)); @@ -507,7 +507,7 @@ LValue CodeGenFunction::EmitStringLiteralLValue(const StringLiteral *E) { return LValue::MakeAddr(CGM.GetAddrOfConstantString(StringLiteral),0); } -LValue CodeGenFunction::EmitPreDefinedLValue(const PreDefinedExpr *E) { +LValue CodeGenFunction::EmitPredefinedLValue(const PredefinedExpr *E) { std::string FunctionName; if(const FunctionDecl *FD = dyn_cast<FunctionDecl>(CurFuncDecl)) { FunctionName = FD->getName(); @@ -520,13 +520,13 @@ LValue CodeGenFunction::EmitPreDefinedLValue(const PreDefinedExpr *E) { switch (E->getIdentType()) { default: assert(0 && "unknown pre-defined ident type"); - case PreDefinedExpr::Func: + case PredefinedExpr::Func: GlobalVarName = "__func__."; break; - case PreDefinedExpr::Function: + case PredefinedExpr::Function: GlobalVarName = "__FUNCTION__."; break; - case PreDefinedExpr::PrettyFunction: + case PredefinedExpr::PrettyFunction: // FIXME:: Demangle C++ method names GlobalVarName = "__PRETTY_FUNCTION__."; break; diff --git a/lib/CodeGen/CGExprScalar.cpp b/lib/CodeGen/CGExprScalar.cpp index 7f4bed7a2a..17ef1ed35d 100644 --- a/lib/CodeGen/CGExprScalar.cpp +++ b/lib/CodeGen/CGExprScalar.cpp @@ -138,7 +138,7 @@ public: Value *VisitExtVectorElementExpr(Expr *E) { return EmitLoadOfLValue(E); } Value *VisitCompoundLiteralExpr(CompoundLiteralExpr *E) { return EmitLoadOfLValue(E); } Value *VisitStringLiteral(Expr *E) { return EmitLValue(E).getAddress(); } - Value *VisitPreDefinedExpr(Expr *E) { return EmitLValue(E).getAddress(); } + Value *VisitPredefinedExpr(Expr *E) { return EmitLValue(E).getAddress(); } Value *VisitInitListExpr(InitListExpr *E) { unsigned NumInitElements = E->getNumInits(); diff --git a/lib/CodeGen/CGObjC.cpp b/lib/CodeGen/CGObjC.cpp index 9bf53d9700..6a0400e68c 100644 --- a/lib/CodeGen/CGObjC.cpp +++ b/lib/CodeGen/CGObjC.cpp @@ -56,9 +56,9 @@ llvm::Value *CodeGenFunction::EmitObjCMessageExpr(const ObjCMessageExpr *E) { llvm::Value *ClassName = CGM.GetAddrOfConstantString(classname); ClassName = Builder.CreateStructGEP(ClassName, 0); Receiver = Runtime->LookupClass(Builder, ClassName); - } else if (isa<PreDefinedExpr>(E->getReceiver())) { - assert(cast<PreDefinedExpr>(E->getReceiver())->getIdentType() == - PreDefinedExpr::ObjCSuper); + } else if (const PredefinedExpr *PDE = + dyn_cast<PredefinedExpr>(E->getReceiver())) { + assert(PDE->getIdentType() == PredefinedExpr::ObjCSuper); isSuperMessage = true; Receiver = LoadObjCSelf(); } else { diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 27917a4948..fd2d03313c 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -434,7 +434,7 @@ public: LValue EmitDeclRefLValue(const DeclRefExpr *E); LValue EmitStringLiteralLValue(const StringLiteral *E); - LValue EmitPreDefinedLValue(const PreDefinedExpr *E); + LValue EmitPredefinedLValue(const PredefinedExpr *E); LValue EmitUnaryOpLValue(const UnaryOperator *E); LValue EmitArraySubscriptExpr(const ArraySubscriptExpr *E); LValue EmitExtVectorElementExpr(const ExtVectorElementExpr *E); diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp index d992956f3d..2ecca33cf5 100644 --- a/lib/Parse/ParseExpr.cpp +++ b/lib/Parse/ParseExpr.cpp @@ -466,7 +466,7 @@ Parser::ExprResult Parser::ParseCastExpression(bool isUnaryExpression) { case tok::kw___func__: // primary-expression: __func__ [C99 6.4.2.2] case tok::kw___FUNCTION__: // primary-expression: __FUNCTION__ [GNU] case tok::kw___PRETTY_FUNCTION__: // primary-expression: __P..Y_F..N__ [GNU] - Res = Actions.ActOnPreDefinedExpr(Tok.getLocation(), SavedKind); + Res = Actions.ActOnPredefinedExpr(Tok.getLocation(), SavedKind); ConsumeToken(); // These can be followed by postfix-expr pieces. return ParsePostfixExpressionSuffix(Res); diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h index c5ee7253d1..3254d238b6 100644 --- a/lib/Sema/Sema.h +++ b/lib/Sema/Sema.h @@ -444,8 +444,8 @@ public: virtual ExprResult ActOnIdentifierExpr(Scope *S, SourceLocation Loc, IdentifierInfo &II, bool HasTrailingLParen); - virtual ExprResult ActOnPreDefinedExpr(SourceLocation Loc, - tok::TokenKind Kind); + virtual ExprResult ActOnPredefinedExpr(SourceLocation Loc, + tok::TokenKind Kind); virtual ExprResult ActOnNumericConstant(const Token &); virtual ExprResult ActOnCharacterConstant(const Token &); virtual ExprResult ActOnParenExpr(SourceLocation L, SourceLocation R, diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index da0d1ec85c..c776a5bfa5 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -862,7 +862,7 @@ bool Sema::CheckAddressConstantExpressionLValue(const Expr* Init) { CheckArithmeticConstantExpression(ASE->getIdx()); } case Expr::StringLiteralClass: - case Expr::PreDefinedExprClass: + case Expr::PredefinedExprClass: return false; case Expr::UnaryOperatorClass: { const UnaryOperator *Exp = cast<UnaryOperator>(Init); diff --git a/lib/Sema/SemaExpr.cpp b/lib/Sema/SemaExpr.cpp index 003f3dea59..b44fd877d6 100644 --- a/lib/Sema/SemaExpr.cpp +++ b/lib/Sema/SemaExpr.cpp @@ -397,15 +397,15 @@ Sema::ExprResult Sema::ActOnIdentifierExpr(Scope *S, SourceLocation Loc, abort(); } -Sema::ExprResult Sema::ActOnPreDefinedExpr(SourceLocation Loc, +Sema::ExprResult Sema::ActOnPredefinedExpr(SourceLocation Loc, tok::TokenKind Kind) { - PreDefinedExpr::IdentType IT; + PredefinedExpr::IdentType IT; switch (Kind) { default: assert(0 && "Unknown simple primary expr!"); - case tok::kw___func__: IT = PreDefinedExpr::Func; break; // [C99 6.4.2.2] - case tok::kw___FUNCTION__: IT = PreDefinedExpr::Function; break; - case tok::kw___PRETTY_FUNCTION__: IT = PreDefinedExpr::PrettyFunction; break; + case tok::kw___func__: IT = PredefinedExpr::Func; break; // [C99 6.4.2.2] + case tok::kw___FUNCTION__: IT = PredefinedExpr::Function; break; + case tok::kw___PRETTY_FUNCTION__: IT = PredefinedExpr::PrettyFunction; break; } // Verify that this is in a function context. @@ -423,7 +423,7 @@ Sema::ExprResult Sema::ActOnPreDefinedExpr(SourceLocation Loc, llvm::APInt LengthI(32, Length + 1); QualType ResTy = Context.CharTy.getQualifiedType(QualType::Const); ResTy = Context.getConstantArrayType(ResTy, LengthI, ArrayType::Normal, 0); - return new PreDefinedExpr(Loc, ResTy, IT); + return new PredefinedExpr(Loc, ResTy, IT); } Sema::ExprResult Sema::ActOnCharacterConstant(const Token &Tok) { diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp index be7cf069ec..c48a19b15a 100644 --- a/lib/Sema/SemaExprCXX.cpp +++ b/lib/Sema/SemaExprCXX.cpp @@ -62,8 +62,8 @@ Action::ExprResult Sema::ActOnCXXThis(SourceLocation ThisLoc) { if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(CurContext)) if (MD->isInstance()) - return new PreDefinedExpr(ThisLoc, MD->getThisType(Context), - PreDefinedExpr::CXXThis); + return new PredefinedExpr(ThisLoc, MD->getThisType(Context), + PredefinedExpr::CXXThis); return Diag(ThisLoc, diag::err_invalid_this_use); } diff --git a/lib/Sema/SemaExprObjC.cpp b/lib/Sema/SemaExprObjC.cpp index 9575d4c3b5..8acd1f2f0a 100644 --- a/lib/Sema/SemaExprObjC.cpp +++ b/lib/Sema/SemaExprObjC.cpp @@ -158,8 +158,8 @@ Sema::ExprResult Sema::ActOnClassMessage( if (getCurMethodDecl()->isInstance()) { QualType superTy = Context.getObjCInterfaceType(ClassDecl); superTy = Context.getPointerType(superTy); - ExprResult ReceiverExpr = new PreDefinedExpr(SourceLocation(), superTy, - PreDefinedExpr::ObjCSuper); + ExprResult ReceiverExpr = new PredefinedExpr(SourceLocation(), superTy, + PredefinedExpr::ObjCSuper); // We are really in an instance method, redirect. return ActOnInstanceMessage(ReceiverExpr.Val, Sel, lbrac, rbrac, Args, NumArgs); |