From fb1051be453b29904077476d4d1bb804e42ecabb Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 30 Oct 2007 20:57:56 +0000 Subject: [PATCH] minor tweaks git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43515 91177308-0d34-0410-b5e6-96231b3b80d8 --- Sema/Sema.cpp | 21 +++++++++++---------- Sema/SemaDecl.cpp | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Sema/Sema.cpp b/Sema/Sema.cpp index 5bd5df5539..2be198de43 100644 --- a/Sema/Sema.cpp +++ b/Sema/Sema.cpp @@ -31,17 +31,18 @@ void Sema::ActOnTranslationUnitScope(SourceLocation Loc, Scope *S) { /// For now, we will *not* install id as a built-in. FIXME: reconsider this. QualType Sema::GetObjcIdType(SourceLocation Loc) { assert(TUScope && "GetObjcIdType(): Top-level scope is null"); - if (Context.getObjcIdType().isNull()) { - IdentifierInfo *IdIdent = &Context.Idents.get("id"); - ScopedDecl *IdDecl = LookupScopedDecl(IdIdent, Decl::IDNS_Ordinary, - SourceLocation(), TUScope); - TypedefDecl *ObjcIdTypedef = dyn_cast_or_null(IdDecl); - if (!ObjcIdTypedef) { - Diag(Loc, diag::err_missing_id_definition); - return QualType(); - } - Context.setObjcIdType(ObjcIdTypedef); + if (!Context.getObjcIdType().isNull()) + return Context.getObjcIdType(); + + IdentifierInfo *IdIdent = &Context.Idents.get("id"); + ScopedDecl *IdDecl = LookupScopedDecl(IdIdent, Decl::IDNS_Ordinary, + SourceLocation(), TUScope); + TypedefDecl *ObjcIdTypedef = dyn_cast_or_null(IdDecl); + if (!ObjcIdTypedef) { + Diag(Loc, diag::err_missing_id_definition); + return QualType(); } + Context.setObjcIdType(ObjcIdTypedef); return Context.getObjcIdType(); } diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index c23ed69b1b..4f59fe1278 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -1194,9 +1194,9 @@ Sema::DeclTy *Sema::ActOnStartCategoryImplementation( if (!IDecl || IDecl->isForwardDecl()) Diag(ClassLoc, diag::err_undef_interface, ClassName->getName()); - // We cannot build type 'id' laziliy. It is needed when checking if a + // We cannot build type 'id' lazily. It is needed when checking if a // type is an 'id' (via call to isObjcIdType) even if there is no - // need for the dafult 'id' type. + // need for the default 'id' type. // FIXME: Depending on the need to compare to 'id', this may have to go // somewhere else. At this time, this is a good enough place to do type // encoding of methods and ivars for the rewrite client. -- 2.40.0