зеркало из https://github.com/microsoft/clang-1.git
Make sure we're always setting the previous declaration of an ObjCInterfaceDecl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146763 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
7ec59c78f1
Коммит
fd002a7027
|
@ -683,28 +683,29 @@ ObjCInterfaceDecl *ObjCInterfaceDecl::Create(ASTContext &C,
|
|||
SourceLocation ClassLoc,
|
||||
bool isInternal){
|
||||
ObjCInterfaceDecl *Result = new (C) ObjCInterfaceDecl(DC, atLoc, Id, ClassLoc,
|
||||
isInternal);
|
||||
PrevDecl, isInternal);
|
||||
C.getObjCInterfaceType(Result, PrevDecl);
|
||||
|
||||
if (PrevDecl) {
|
||||
Result->Data = PrevDecl->Data;
|
||||
Result->setPreviousDeclaration(PrevDecl);
|
||||
}
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
ObjCInterfaceDecl *ObjCInterfaceDecl::CreateEmpty(ASTContext &C) {
|
||||
return new (C) ObjCInterfaceDecl(0, SourceLocation(), 0, SourceLocation(),
|
||||
false);
|
||||
0, false);
|
||||
}
|
||||
|
||||
ObjCInterfaceDecl::
|
||||
ObjCInterfaceDecl(DeclContext *DC, SourceLocation atLoc, IdentifierInfo *Id,
|
||||
SourceLocation CLoc, bool isInternal)
|
||||
SourceLocation CLoc, ObjCInterfaceDecl *PrevDecl,
|
||||
bool isInternal)
|
||||
: ObjCContainerDecl(ObjCInterface, DC, Id, CLoc, atLoc),
|
||||
TypeForDecl(0), Data()
|
||||
{
|
||||
setPreviousDeclaration(PrevDecl);
|
||||
|
||||
// Copy the 'data' pointer over.
|
||||
if (PrevDecl)
|
||||
Data = PrevDecl->Data;
|
||||
|
||||
setImplicit(isInternal);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче