diff options
Diffstat (limited to 'clang/unittests/CrossTU/CrossTranslationUnitTest.cpp')
-rw-r--r-- | clang/unittests/CrossTU/CrossTranslationUnitTest.cpp | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/clang/unittests/CrossTU/CrossTranslationUnitTest.cpp b/clang/unittests/CrossTU/CrossTranslationUnitTest.cpp index b4f22d5cb03..b3e7243ce1d 100644 --- a/clang/unittests/CrossTU/CrossTranslationUnitTest.cpp +++ b/clang/unittests/CrossTU/CrossTranslationUnitTest.cpp @@ -28,18 +28,13 @@ public: : CTU(CI), Success(Success) {} void HandleTranslationUnit(ASTContext &Ctx) { - auto FindFInTU = [](const TranslationUnitDecl *TU) { - const FunctionDecl *FD = nullptr; - for (const Decl *D : TU->decls()) { - FD = dyn_cast<FunctionDecl>(D); - if (FD && FD->getName() == "f") - break; - } - return FD; - }; - const TranslationUnitDecl *TU = Ctx.getTranslationUnitDecl(); - const FunctionDecl *FD = FindFInTU(TU); + const FunctionDecl *FD = nullptr; + for (const Decl *D : TU->decls()) { + FD = dyn_cast<FunctionDecl>(D); + if (FD && FD->getName() == "f") + break; + } assert(FD && FD->getName() == "f"); bool OrigFDHasBody = FD->hasBody(); @@ -83,28 +78,6 @@ public: if (NewFDorError) { const FunctionDecl *NewFD = *NewFDorError; *Success = NewFD && NewFD->hasBody() && !OrigFDHasBody; - - if (NewFD) { - // Check GetImportedFromSourceLocation. - llvm::Optional<std::pair<SourceLocation, ASTUnit *>> SLocResult = - CTU.getImportedFromSourceLocation(NewFD->getLocation()); - EXPECT_TRUE(SLocResult); - if (SLocResult) { - SourceLocation OrigSLoc = (*SLocResult).first; - ASTUnit *OrigUnit = (*SLocResult).second; - // OrigUnit is created internally by CTU (is not the - // ASTWithDefinition). - TranslationUnitDecl *OrigTU = - OrigUnit->getASTContext().getTranslationUnitDecl(); - const FunctionDecl *FDWithDefinition = FindFInTU(OrigTU); - EXPECT_TRUE(FDWithDefinition); - if (FDWithDefinition) { - EXPECT_EQ(FDWithDefinition->getName(), "f"); - EXPECT_TRUE(FDWithDefinition->isThisDeclarationADefinition()); - EXPECT_EQ(OrigSLoc, FDWithDefinition->getLocation()); - } - } - } } } |