From c8317a44cf535253a5653526ce46ed8ebddbff7e Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Sat, 23 Aug 2008 10:51:21 +0000 Subject: Implement Obj-C ivar references to aggregates. Implement Obj-C lvalue message sends (aggregate returns). Update several places to emit more precise ErrorUnsupported warnings for currently unimplemented Obj-C features (main missing chunks are property references, Obj-C exception handling, and the for ... in syntax). llvm-svn: 55234 --- clang/lib/CodeGen/CGExprAgg.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CGExprAgg.cpp') diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index bc6af1251e5c..fbba9c6c0c40 100644 --- a/clang/lib/CodeGen/CGExprAgg.cpp +++ b/clang/lib/CodeGen/CGExprAgg.cpp @@ -88,7 +88,13 @@ public: void VisitBinComma(const BinaryOperator *E); void VisitObjCMessageExpr(ObjCMessageExpr *E); - + void VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) { + EmitAggLoadOfLValue(E); + } + void VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *E) { + // FIXME: Implement! + CGF.ErrorUnsupported(E, "aggregate expression (Objective-C property reference)"); + } void VisitConditionalOperator(const ConditionalOperator *CO); void VisitInitListExpr(InitListExpr *E); -- cgit v1.2.3