<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>