From 2c624acb06b01717413f01f35c905be6722a9322 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 26 Feb 2014 20:10:05 +0000 Subject: [PATCH] Fixed preprocessed declaration parsing for translation units in the new parser. Fixes the failing TestPasses.TestCleanEnumItemNames test. --- src/CppParser/Parser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index d5b07e14..6d4b5cad 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -2525,12 +2525,13 @@ ParserResult* Parser::ParseHeader(const std::string& File) auto FileName = FileEntry->getName(); auto Unit = Lib->FindOrCreateModule(FileName); - if (Unit->OriginalPtr == nullptr) - Unit->OriginalPtr = (void*) FileEntry; auto TU = AST->getTranslationUnitDecl(); HandleDeclaration(TU, Unit); + if (Unit->OriginalPtr == nullptr) + Unit->OriginalPtr = (void*) FileEntry; + // Initialize enough Clang codegen machinery so we can get at ABI details. llvm::LLVMContext Ctx; llvm::OwningPtr M(new llvm::Module("", Ctx));