зеркало из https://github.com/microsoft/clang-1.git
add forward definition protocols to the protocol list for a class.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@53864 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
919d87d4ee
Коммит
964c27c66c
|
@ -137,11 +137,12 @@ Sema::DeclTy *Sema::ActOnStartClassInterface(
|
|||
if (!RefPDecl)
|
||||
Diag(EndProtoLoc, diag::err_undef_protocolref,
|
||||
ProtocolNames[i]->getName(), ClassName->getName());
|
||||
else if (RefPDecl->isForwardDecl())
|
||||
Diag(EndProtoLoc, diag::warn_undef_protocolref,
|
||||
ProtocolNames[i]->getName(), ClassName->getName());
|
||||
else
|
||||
else {
|
||||
if (RefPDecl->isForwardDecl())
|
||||
Diag(EndProtoLoc, diag::warn_undef_protocolref,
|
||||
ProtocolNames[i]->getName(), ClassName->getName());
|
||||
RefProtos.push_back(RefPDecl);
|
||||
}
|
||||
}
|
||||
if (!RefProtos.empty())
|
||||
IDecl->addReferencedProtocols(&RefProtos[0], RefProtos.size());
|
||||
|
@ -223,11 +224,12 @@ Sema::DeclTy *Sema::ActOnStartProtocolInterface(
|
|||
if (!RefPDecl)
|
||||
Diag(ProtocolLoc, diag::err_undef_protocolref,
|
||||
ProtoRefNames[i]->getName(), ProtocolName->getName());
|
||||
else if (RefPDecl->isForwardDecl())
|
||||
Diag(ProtocolLoc, diag::warn_undef_protocolref,
|
||||
ProtoRefNames[i]->getName(), ProtocolName->getName());
|
||||
|
||||
PDecl->setReferencedProtocols(i, RefPDecl);
|
||||
else {
|
||||
if (RefPDecl->isForwardDecl())
|
||||
Diag(ProtocolLoc, diag::warn_undef_protocolref,
|
||||
ProtoRefNames[i]->getName(), ProtocolName->getName());
|
||||
PDecl->setReferencedProtocols(i, RefPDecl);
|
||||
}
|
||||
}
|
||||
PDecl->setLocEnd(EndProtoLoc);
|
||||
}
|
||||
|
@ -434,11 +436,12 @@ Sema::DeclTy *Sema::ActOnStartCategoryInterface(
|
|||
if (!RefPDecl)
|
||||
Diag(CategoryLoc, diag::err_undef_protocolref,
|
||||
ProtoRefNames[i]->getName(), CategoryName->getName());
|
||||
else if (RefPDecl->isForwardDecl())
|
||||
Diag(CategoryLoc, diag::warn_undef_protocolref,
|
||||
ProtoRefNames[i]->getName(), CategoryName->getName());
|
||||
if (RefPDecl)
|
||||
else {
|
||||
if (RefPDecl->isForwardDecl())
|
||||
Diag(CategoryLoc, diag::warn_undef_protocolref,
|
||||
ProtoRefNames[i]->getName(), CategoryName->getName());
|
||||
RefProtocols.push_back(RefPDecl);
|
||||
}
|
||||
}
|
||||
if (!RefProtocols.empty())
|
||||
CDecl->addReferencedProtocols(&RefProtocols[0], RefProtocols.size());
|
||||
|
|
Загрузка…
Ссылка в новой задаче