From c523d8e88c94113717f12381cd44c2a3699e9d10 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 11 Apr 2009 21:15:38 +0000 Subject: now that we have an identifier table in the PCH file, finish hooking up macro deserialization. We now correctly install II's in tokens, handle function-like macros, etc. llvm-svn: 68882 --- clang/lib/Frontend/PCHWriter.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'clang/lib/Frontend/PCHWriter.cpp') diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp index c595fefca4a..6faf37fb295 100644 --- a/clang/lib/Frontend/PCHWriter.cpp +++ b/clang/lib/Frontend/PCHWriter.cpp @@ -582,17 +582,7 @@ void PCHWriter::WritePreprocessor(const Preprocessor &PP) { if (MI->isBuiltinMacro()) continue; - IdentifierInfo *II = I->first; - - // FIXME: Emit a PP_MACRO_NAME for testing. This should be removed when we - // have identifierinfo id's. - for (unsigned i = 0, e = II->getLength(); i != e; ++i) - Record.push_back(II->getName()[i]); - S.EmitRecord(pch::PP_MACRO_NAME, Record); - Record.clear(); - - // FIXME: Output the identifier Info ID #! - Record.push_back((intptr_t)II); + AddIdentifierRef(I->first, Record); Record.push_back(MI->getDefinitionLoc().getRawEncoding()); Record.push_back(MI->isUsed()); @@ -607,8 +597,7 @@ void PCHWriter::WritePreprocessor(const Preprocessor &PP) { Record.push_back(MI->getNumArgs()); for (MacroInfo::arg_iterator I = MI->arg_begin(), E = MI->arg_end(); I != E; ++I) - // FIXME: Output the identifier Info ID #! - Record.push_back((intptr_t)II); + AddIdentifierRef(*I, Record); } S.EmitRecord(Code, Record); Record.clear(); @@ -623,10 +612,9 @@ void PCHWriter::WritePreprocessor(const Preprocessor &PP) { Record.push_back(Tok.getLocation().getRawEncoding()); Record.push_back(Tok.getLength()); - // FIXME: Output the identifier Info ID #! // FIXME: When reading literal tokens, reconstruct the literal pointer if // it is needed. - Record.push_back((intptr_t)Tok.getIdentifierInfo()); + AddIdentifierRef(Tok.getIdentifierInfo(), Record); // FIXME: Should translate token kind to a stable encoding. Record.push_back(Tok.getKind()); -- cgit v1.2.3