diff options
author | Ted Kremenek <kremenek@apple.com> | 2009-11-18 00:28:11 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2009-11-18 00:28:11 +0000 |
commit | 9b124e10a47bd3b54cfa20a2f75152011500c6b6 (patch) | |
tree | 7d8ab919bd9b4e266da035779dbddc1a32f97bd8 /clang/lib/Frontend/PCHReaderDecl.cpp | |
parent | a3329fa05e2b32e40e956301748c0aaa89cad0c6 (diff) | |
download | bcm5719-llvm-9b124e10a47bd3b54cfa20a2f75152011500c6b6.tar.gz bcm5719-llvm-9b124e10a47bd3b54cfa20a2f75152011500c6b6.zip |
Add SourceLocations to ObjCClassDecl for the class identifiers referenced by @class.
llvm-svn: 89170
Diffstat (limited to 'clang/lib/Frontend/PCHReaderDecl.cpp')
-rw-r--r-- | clang/lib/Frontend/PCHReaderDecl.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHReaderDecl.cpp b/clang/lib/Frontend/PCHReaderDecl.cpp index 775ce76c92d..6a92a2db51a 100644 --- a/clang/lib/Frontend/PCHReaderDecl.cpp +++ b/clang/lib/Frontend/PCHReaderDecl.cpp @@ -264,7 +264,12 @@ void PCHDeclReader::VisitObjCClassDecl(ObjCClassDecl *CD) { ClassRefs.reserve(NumClassRefs); for (unsigned I = 0; I != NumClassRefs; ++I) ClassRefs.push_back(cast<ObjCInterfaceDecl>(Reader.GetDecl(Record[Idx++]))); - CD->setClassList(*Reader.getContext(), ClassRefs.data(), NumClassRefs); + llvm::SmallVector<SourceLocation, 16> SLocs; + SLocs.reserve(NumClassRefs); + for (unsigned I = 0; I != NumClassRefs; ++I) + SLocs.push_back(SourceLocation::getFromRawEncoding(Record[Idx++])); + CD->setClassList(*Reader.getContext(), ClassRefs.data(), SLocs.data(), + NumClassRefs); } void PCHDeclReader::VisitObjCForwardProtocolDecl(ObjCForwardProtocolDecl *FPD) { |