]> granicus.if.org Git - clang/commitdiff
[Modules] Fix use after scope.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 2 Jun 2017 17:30:24 +0000 (17:30 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 2 Jun 2017 17:30:24 +0000 (17:30 +0000)
Found by asan.

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

lib/Serialization/ASTWriter.cpp

index f9e908e790f19e216a1ede03bc7b63453343dc54..044a26433a93c4862396b5fdfbf52e3025c9fbf3 100644 (file)
@@ -1989,6 +1989,7 @@ void ASTWriter::WriteHeaderSearch(const HeaderSearch &HS) {
   // have resolved them before we get here, but not necessarily: we might be
   // compiling a preprocessed module, where there is no requirement for the
   // original files to exist any more.
+  const HeaderFileInfo Empty; // So we can take a reference.
   if (WritingModule) {
     llvm::SmallVector<Module *, 16> Worklist(1, WritingModule);
     while (!Worklist.empty()) {
@@ -2027,7 +2028,7 @@ void ASTWriter::WriteHeaderSearch(const HeaderSearch &HS) {
           FilenameDup, *U.Size, IncludeTimestamps ? *U.ModTime : 0
         };
         HeaderFileInfoTrait::data_type Data = {
-          {}, {}, {M, ModuleMap::headerKindToRole(U.Kind)}
+          Empty, {}, {M, ModuleMap::headerKindToRole(U.Kind)}
         };
         // FIXME: Deal with cases where there are multiple unresolved header
         // directives in different submodules for the same header.