[llvm-bugs] [Bug 32988] New: -error-on-deserialized-decl doesn't play well with implicit modules

via llvm-bugs llvm-bugs at lists.llvm.org
Wed May 10 06:55:34 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=32988

            Bug ID: 32988
           Summary: -error-on-deserialized-decl doesn't play well with
                    implicit modules
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Modules
          Assignee: unassignedclangbugs at nondot.org
          Reporter: vvasilev at cern.ch
                CC: dgregor at apple.com, llvm-bugs at lists.llvm.org

Created attachment 18426
  --> https://bugs.llvm.org/attachment.cgi?id=18426&action=edit
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

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170510/58a5b6b8/attachment.html>


More information about the llvm-bugs mailing list