]> granicus.if.org Git - clang/commitdiff
[CTU] Add asserts to protect invariants
authorGabor Marton <martongabesz@gmail.com>
Fri, 7 Dec 2018 12:21:43 +0000 (12:21 +0000)
committerGabor Marton <martongabesz@gmail.com>
Fri, 7 Dec 2018 12:21:43 +0000 (12:21 +0000)
Reviewers: xazax.hun, a_sidorin

Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, cfe-commits

Differential Revision: https://reviews.llvm.org/D55132

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@348586 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CrossTU/CrossTranslationUnit.cpp

index 08c9d99ec9715599f912bb1d2518385e13c9d116..97563b05b005bd7d85479bfe5855b7129ba64b54 100644 (file)
@@ -160,6 +160,7 @@ llvm::Expected<const FunctionDecl *>
 CrossTranslationUnitContext::getCrossTUDefinition(const FunctionDecl *FD,
                                                   StringRef CrossTUDir,
                                                   StringRef IndexName) {
+  assert(FD && "FD is missing, bad call to this function!");
   assert(!FD->hasBody() && "FD has a definition in current translation unit!");
   ++NumGetCTUCalled;
   const std::string LookupFnName = getLookupName(FD);
@@ -258,6 +259,8 @@ llvm::Expected<ASTUnit *> CrossTranslationUnitContext::loadExternalAST(
 
 llvm::Expected<const FunctionDecl *>
 CrossTranslationUnitContext::importDefinition(const FunctionDecl *FD) {
+  assert(FD->hasBody() && "Functions to be imported should have body.");
+
   ASTImporter &Importer = getOrCreateASTImporter(FD->getASTContext());
   auto *ToDecl =
       cast<FunctionDecl>(Importer.Import(const_cast<FunctionDecl *>(FD)));