Eliminate some FIXMEs in the PCH reader that were either already fixed or aren't actually things to fix

llvm-svn: 69827
This commit is contained in:
Douglas Gregor 2009-04-22 21:15:06 +00:00
parent fedd428d04
commit 7cd60f7be3
2 changed files with 11 additions and 17 deletions

View File

@ -327,9 +327,9 @@ public:
/// supplements.
ASTContext &getContext() { return Context; }
// FIXME: temporary hack to store declarations that we deserialized
// before we had access to the Sema object.
llvm::SmallVector<NamedDecl *, 16> TUDecls;
// \brief Contains declarations that were loaded before we have
// access to a Sema object.
llvm::SmallVector<NamedDecl *, 16> PreloadedDecls;
/// \brief Retrieve the semantic analysis object used to analyze the
/// translation unit in which the precompiled header is being

View File

@ -1107,7 +1107,7 @@ public:
const unsigned char* d,
unsigned DataLen) {
using namespace clang::io;
uint32_t Bits = ReadUnalignedLE32(d); // FIXME: use these?
uint32_t Bits = ReadUnalignedLE32(d);
bool CPlusPlusOperatorKeyword = Bits & 0x01;
Bits >>= 1;
bool Poisoned = Bits & 0x01;
@ -1160,7 +1160,6 @@ public:
Sema *SemaObj = Reader.getSema();
while (DataLen > 0) {
NamedDecl *D = cast<NamedDecl>(Reader.GetDecl(ReadUnalignedLE32(d)));
if (SemaObj) {
// Introduce this declaration into the translation-unit scope
// and add it to the declaration chain for this identifier, so
@ -1171,9 +1170,7 @@ public:
// Queue this declaration so that it will be added to the
// translation unit scope and identifier's declaration chain
// once a Sema object is known.
// FIXME: This is a temporary hack. It will go away once we have
// lazy deserialization of macros.
Reader.TUDecls.push_back(D);
Reader.PreloadedDecls.push_back(D);
}
DataLen -= 4;
@ -1680,8 +1677,6 @@ PCHReader::ReadPCHBlock(uint64_t &PreprocessorBlockOffset) {
(const unsigned char *)IdentifierTableData + Record[0],
(const unsigned char *)IdentifierTableData,
PCHIdentifierLookupTrait(*this));
// FIXME: What about any identifiers already placed into the
// identifier table? Should we load decls with those names now?
PP.getIdentifierTable().setExternalIdentifierLookup(this);
break;
@ -2521,14 +2516,13 @@ void PCHReader::PrintStats() {
void PCHReader::InitializeSema(Sema &S) {
SemaObj = &S;
// FIXME: this makes sure any declarations that were deserialized
// "too early" still get added to the identifier's declaration
// chains.
for (unsigned I = 0, N = TUDecls.size(); I != N; ++I) {
SemaObj->TUScope->AddDecl(Action::DeclPtrTy::make(TUDecls[I]));
SemaObj->IdResolver.AddDecl(TUDecls[I]);
// Makes sure any declarations that were deserialized "too early"
// still get added to the identifier's declaration chains.
for (unsigned I = 0, N = PreloadedDecls.size(); I != N; ++I) {
SemaObj->TUScope->AddDecl(Action::DeclPtrTy::make(PreloadedDecls[I]));
SemaObj->IdResolver.AddDecl(PreloadedDecls[I]);
}
TUDecls.clear();
PreloadedDecls.clear();
}
IdentifierInfo* PCHReader::get(const char *NameStart, const char *NameEnd) {