diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2008-12-17 21:40:49 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2008-12-17 21:40:49 +0000 |
| commit | f327e89dabc34946f0086961b30813d4e25d22a5 (patch) | |
| tree | 496f31158d1abae748194fc51ab809a842342c82 /clang/lib/Sema | |
| parent | 3d1f552643159f6b9514d21e96b6de23bd3bbd70 (diff) | |
| download | bcm5719-llvm-f327e89dabc34946f0086961b30813d4e25d22a5.tar.gz bcm5719-llvm-f327e89dabc34946f0086961b30813d4e25d22a5.zip | |
This patch will build the Records lazily per Steve's comments.
Note that one test duplicate-ivar-check.m will fail because I
need to re-implement duplicate ivar checking.
llvm-svn: 61154
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaDeclObjC.cpp | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index 6ef9ecd8172..5ae266ef003 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -3029,7 +3029,7 @@ void Sema::ActOnFields(Scope* S, ObjCIvarDecl **ClsFields = reinterpret_cast<ObjCIvarDecl**>(&RecFields[0]); if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(EnclosingDecl)) { ID->addInstanceVariablesToClass(ClsFields, RecFields.size(), RBrac); - ID->addRecordToClass(Context); +#if 0 // Must enforce the rule that ivars in the base classes may not be // duplicates. FieldIDs.clear(); @@ -3049,6 +3049,7 @@ void Sema::ActOnFields(Scope* S, } } } +#endif } else if (ObjCImplementationDecl *IMPDecl = dyn_cast<ObjCImplementationDecl>(EnclosingDecl)) { diff --git a/clang/lib/Sema/SemaDeclObjC.cpp b/clang/lib/Sema/SemaDeclObjC.cpp index 5887f29d4f0..d4cef9b0de1 100644 --- a/clang/lib/Sema/SemaDeclObjC.cpp +++ b/clang/lib/Sema/SemaDeclObjC.cpp @@ -599,7 +599,6 @@ void Sema::CheckImplementationIvars(ObjCImplementationDecl *ImpDecl, /// Add implementations's ivar to the synthesize class's ivar list. if (IDecl->ImplicitInterfaceDecl()) { IDecl->addInstanceVariablesToClass(ivars, numIvars, RBrace); - IDecl->addRecordToClass(Context); return; } // If implementation has empty ivar list, just return. |

