From 7d268c3b8ba5d1a23f48bcd9e8d88b051a7fcbdd Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Mon, 14 Nov 2011 07:07:59 +0000 Subject: [PCH] Load the chained objc categories only after recursive loading is finished otherwise we may crash. llvm-svn: 144524 --- clang/lib/Serialization/ASTReader.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'clang/lib/Serialization/ASTReader.cpp') diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 80b582e246d..6192fb77517 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -5543,6 +5543,14 @@ void ASTReader::FinishedDeserializing() { PendingPreviousDecls.pop_front(); } + for (std::vector >::iterator + I = PendingChainedObjCCategories.begin(), + E = PendingChainedObjCCategories.end(); I != E; ++I) { + loadObjCChainedCategories(I->second, I->first); + } + PendingChainedObjCCategories.clear(); + // We are not in recursive loading, so it's safe to pass the "interesting" // decls to the consumer. if (Consumer) -- cgit v1.2.3