diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-08-23 10:51:21 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-23 10:51:21 +0000 |
commit | c8317a44cf535253a5653526ce46ed8ebddbff7e (patch) | |
tree | 61e4b9230af6ccc73b532c1a213e9763eaae1b4a /clang/lib/CodeGen/CGExprAgg.cpp | |
parent | 05604e051503ab11620a01f585f77dbed06fafa1 (diff) | |
download | bcm5719-llvm-c8317a44cf535253a5653526ce46ed8ebddbff7e.tar.gz bcm5719-llvm-c8317a44cf535253a5653526ce46ed8ebddbff7e.zip |
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
Diffstat (limited to 'clang/lib/CodeGen/CGExprAgg.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExprAgg.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp index bc6af1251e5..fbba9c6c0c4 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); |