<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - -error-on-deserialized-decl doesn't play well with implicit modules"
   href="https://bugs.llvm.org/show_bug.cgi?id=32988">32988</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>-error-on-deserialized-decl doesn't play well with implicit modules
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Modules
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedclangbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>vvasilev@cern.ch
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>dgregor@apple.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=18426" name="attach_18426" title="Reproducer">attachment 18426</a> <a href="attachment.cgi?id=18426&action=edit" title="Reproducer">[details]</a></span>
Reproducer

Running: rm -r
/Users/vvassilev/workspace/llvm-git/obj/tools/clang/test/Modules/Output/lazy-template-specializations.cpp.tmp/*
; /Users/vvassilev/workspace/llvm-git/obj/./bin/clang -cc1 -internal-isystem
/Users/vvassilev/workspace/llvm-git/obj/lib/clang/5.0.0/include -nostdsysteminc
-fmodules -fimplicit-module-maps
-fmodules-cache-path=/Users/vvassilev/workspace/llvm-git/obj/tools/clang/test/Modules/Output/lazy-template-specializations.cpp.tmp
                -I
/Users/vvassilev/workspace/llvm-git/src/tools/clang/test/Modules/Inputs/lazy-template-specializations
-std=c++11                   -error-on-deserialized-decl S
/Users/vvassilev/workspace/llvm-git/src/tools/clang/test/Modules/lazy-template-specializations.cpp

Leads to:

Assertion failed: ((ID || !Mod) && "asked for module ID for non-local,
non-imported module"), function getSubmoduleID, file
/Users/vvassilev/workspace/llvm-git/src/tools/clang/lib/Serialization/ASTWriter.cpp,
line 2598.
0  clang                    0x0000000102839d7c
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 60
1  clang                    0x000000010283a2f9
PrintStackTraceSignalHandler(void*) + 25
2  clang                    0x0000000102836049 llvm::sys::RunSignalHandlers() +
425
3  clang                    0x000000010283a772 SignalHandler(int) + 354
4  libsystem_platform.dylib 0x00007fff96a7852a _sigtramp + 26
5  libsystem_platform.dylib 0x00007fff6b62a5c8 _sigtramp + 3569033400
6  libsystem_c.dylib        0x00007fff901146df abort + 129
7  libsystem_c.dylib        0x00007fff900dbdd8 basename + 0
8  clang                    0x0000000104f02817
clang::ASTWriter::getSubmoduleID(clang::Module*) + 119
9  clang                    0x0000000104f747d1
clang::ASTDeclWriter::VisitImportDecl(clang::ImportDecl*) + 97
10 clang                    0x0000000104f6b13c
clang::declvisitor::Base<clang::declvisitor::make_ptr, clang::ASTDeclWriter,
void>::Visit(clang::Decl*) + 332
11 clang                    0x0000000104f6af17
clang::ASTDeclWriter::Visit(clang::Decl*) + 39
12 clang                    0x0000000104f7edff
clang::ASTWriter::WriteDecl(clang::ASTContext&, clang::Decl*) + 447
13 clang                    0x0000000104f25a86
clang::ASTWriter::WriteASTCore(clang::Sema&, llvm::StringRef,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, clang::Module*) + 11958
14 clang                    0x0000000104f22589
clang::ASTWriter::WriteAST(clang::Sema&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
clang::Module*, llvm::StringRef, bool) + 377
15 clang                    0x0000000104f9b127
clang::PCHGenerator::HandleTranslationUnit(clang::ASTContext&) + 1799
16 clang                    0x00000001036bfc97
clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) + 455
17 clang                    0x0000000104c60136 clang::ParseAST(clang::Sema&,
bool, bool) + 1238
18 clang                    0x0000000103674ef5
clang::ASTFrontendAction::ExecuteAction() + 485
19 clang                    0x0000000103673f80 clang::FrontendAction::Execute()
+ 112
20 clang                    0x000000010359cc4a
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 2250
21 clang                    0x00000001035c64b3
compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation,
clang::Module*, llvm::StringRef)::$_1::operator()() const + 51
22 clang                    0x00000001035c6475 void llvm::function_ref<void
()>::callback_fn<compileModuleImpl(clang::CompilerInstance&,
clang::SourceLocation, clang::Module*, llvm::StringRef)::$_1>(long) + 21
23 clang                    0x00000001026d7349 llvm::function_ref<void
()>::operator()() const + 25
24 clang                    0x00000001026d72ed
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 221
25 clang                    0x00000001026d759f
RunSafelyOnThread_Dispatch(void*) + 79
26 clang                    0x0000000102841220 ExecuteOnThread_Dispatch(void*)
+ 48
27 libsystem_pthread.dylib  0x00007fff8bf6e99d _pthread_body + 131
28 libsystem_pthread.dylib  0x00007fff8bf6e91a _pthread_body + 0
29 libsystem_pthread.dylib  0x00007fff8bf6c351 thread_start + 13</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>