aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGExprAgg.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-23 10:51:21 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-23 10:51:21 +0000
commit0a04d77bde7e3a661c2b41b60630d125d09ed6ef (patch)
tree56f3b2692f4ad57e571a900fffaaf86cfdf66509 /lib/CodeGen/CGExprAgg.cpp
parent14c80b7ed64e0eddfbe81adf5113d5be5f9964bf (diff)
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55234 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGExprAgg.cpp')
-rw-r--r--lib/CodeGen/CGExprAgg.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp
index bc6af1251e..fbba9c6c0c 100644
--- a/lib/CodeGen/CGExprAgg.cpp
+++ b/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);