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 | 0a04d77bde7e3a661c2b41b60630d125d09ed6ef (patch) | |
tree | 56f3b2692f4ad57e571a900fffaaf86cfdf66509 /lib/CodeGen/CGStmt.cpp | |
parent | 14c80b7ed64e0eddfbe81adf5113d5be5f9964bf (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/CGStmt.cpp')
-rw-r--r-- | lib/CodeGen/CGStmt.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/CodeGen/CGStmt.cpp b/lib/CodeGen/CGStmt.cpp index daad062619..22370acc6d 100644 --- a/lib/CodeGen/CGStmt.cpp +++ b/lib/CodeGen/CGStmt.cpp @@ -76,6 +76,25 @@ void CodeGenFunction::EmitStmt(const Stmt *S) { case Stmt::DefaultStmtClass: EmitDefaultStmt(cast<DefaultStmt>(*S)); break; case Stmt::CaseStmtClass: EmitCaseStmt(cast<CaseStmt>(*S)); break; case Stmt::AsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break; + + case Stmt::ObjCAtTryStmtClass: + ErrorUnsupported(S, "@try statement"); + break; + case Stmt::ObjCAtCatchStmtClass: + ErrorUnsupported(S, "@catch statement"); + break; + case Stmt::ObjCAtFinallyStmtClass: + ErrorUnsupported(S, "@finally statement"); + break; + case Stmt::ObjCAtThrowStmtClass: + ErrorUnsupported(S, "@throw statement"); + break; + case Stmt::ObjCAtSynchronizedStmtClass: + ErrorUnsupported(S, "@synchronized statement"); + break; + case Stmt::ObjCForCollectionStmtClass: + ErrorUnsupported(S, "for ... in statement"); + break; } } |