Closed bababuck closed 9 months ago
Thanks for the bug report. I managed to replicate the assertion failure on my end on that version of OpenCilk.
The assertion failure seems to be gone in OpenCilk 2.0.1 and newer. I'm not certain, but I'm guessing commit b6f2cc43efe fixed the issue.
If you're able to, I would recommend upgrading to OpenCilk 2.0.1 or the current release candidate for OpenCilk 2.1. Let me know if that solution works for you.
Not able to upgrade but was able to work around by making some changes to my code! Thanks!
Describe the bug
Compile fails with the following message:
Most recent change in project source code was to implement a reducer. Let me know if you need any more info.
OpenCilk version
Steps to reproduce (include relevant output)
Program arguments: clang -std=gnu11 -Wall -fopencilk -O3 -DNDEBUG -march=znver2 -o event_list_reducer.o -c event_list_reducer.c
./event_list_reducer.h:23:104: current parser token ';'
0 0x0000000003e230f3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x3e230f3)
1 0x0000000003e20e2e llvm::sys::RunSignalHandlers() (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x3e20e2e)
2 0x0000000003e2248d llvm::sys::CleanupOnSignal(unsigned long) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x3e2248d)
3 0x0000000003d95813 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0
4 0x0000000003d959be CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
5 0x000015246487d420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
6 0x000015246431000b raise /build/glibc-BHL3KM/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
7 0x00001524642ef859 abort /build/glibc-BHL3KM/glibc-2.31/stdlib/abort.c:81:7
8 0x0000000003d9aeb1 (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x3d9aeb1)
9 0x000000000698c7a9 (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x698c7a9)
10 0x000000000698b8b1 clang::StmtVisitorBase<std::add_pointer, (anonymous namespace)::StmtPrinter, void>::Visit(clang::Stmt*) StmtPrinter.cpp:0:0
11 0x000000000697cad9 clang::Stmt::printPretty(llvm::raw_ostream&, clang::PrinterHelper, clang::PrintingPolicy const&, unsigned int, llvm::StringRef, clang::ASTContext const) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x697cad9)
12 0x00000000069f584b (anonymous namespace)::TypePrinter::printBefore(clang::Type const*, clang::Qualifiers, llvm::raw_ostream&) TypePrinter.cpp:0:0
13 0x00000000069f1f1d clang::QualType::getAsStringInternal(clang::Type const*, clang::Qualifiers, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, clang::PrintingPolicy const&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x69f1f1d)
14 0x00000000069f1d8a clang::QualType::getAsString[abi:cxx11](clang::PrintingPolicy const&) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x69f1d8a)
15 0x00000000065b3d46 ConvertTypeToDiagnosticString[abi:cxx11](clang::ASTContext&, clang::QualType, llvm::ArrayRef<std::pair<clang::DiagnosticsEngine::ArgumentKind, long> >, llvm::ArrayRef) ASTDiagnostic.cpp:0:0
16 0x00000000065b2a25 clang::FormatASTNodeDiagnosticArgument(clang::DiagnosticsEngine::ArgumentKind, long, llvm::StringRef, llvm::StringRef, llvm::ArrayRef<std::pair<clang::DiagnosticsEngine::ArgumentKind, long> >, llvm::SmallVectorImpl&, void*, llvm::ArrayRef) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x65b2a25)
17 0x0000000004140ac1 clang::Diagnostic::FormatDiagnostic(char const, char const, llvm::SmallVectorImpl&) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x4140ac1)
18 0x0000000004ac1482 clang::TextDiagnosticPrinter::HandleDiagnostic(clang::DiagnosticsEngine::Level, clang::Diagnostic const&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x4ac1482)
19 0x00000000041455c8 clang::DiagnosticIDs::ProcessDiag(clang::DiagnosticsEngine&) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x41455c8)
20 0x000000000413f99a clang::DiagnosticsEngine::EmitCurrentDiagnostic(bool) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x413f99a)
21 0x0000000005c3464c clang::Sema::EmitCurrentDiagnostic(unsigned int) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5c3464c)
22 0x0000000005c3cee1 llvm::optional_detail::OptionalStorage<clang::Sema::ImmediateDiagBuilder, false>::reset() Sema.cpp:0:0
23 0x0000000005c357c4 clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder() (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5c357c4)
24 0x0000000005d676a9 clang::Sema::isIncompatibleTypedef(clang::TypeDecl, clang::TypedefNameDecl) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5d676a9)
25 0x0000000005d67b41 clang::Sema::MergeTypedefNameDecl(clang::Scope, clang::TypedefNameDecl, clang::LookupResult&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5d67b41)
26 0x0000000005d832fa clang::Sema::ActOnTypedefNameDecl(clang::Scope, clang::DeclContext, clang::TypedefNameDecl*, clang::LookupResult&, bool&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5d832fa)
27 0x0000000005d78f87 clang::Sema::ActOnTypedefDeclarator(clang::Scope, clang::Declarator&, clang::DeclContext, clang::TypeSourceInfo*, clang::LookupResult&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5d78f87)
28 0x0000000005d77f3f clang::Sema::HandleDeclarator(clang::Scope, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList>) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5d77f3f)
29 0x0000000005d77355 clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5d77355)
30 0x0000000005b4149c clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b4149c)
31 0x0000000005b3fbeb clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation, clang::Parser::ForRangeInit) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b3fbeb)
32 0x0000000005b39657 clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributesWithRange&, bool, clang::Parser::ForRangeInit, clang::SourceLocation) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b39657)
33 0x0000000005b3901c clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributesWithRange&, clang::SourceLocation*) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b3901c)
34 0x0000000005b0887a clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b0887a)
35 0x0000000005b0716f clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, bool) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b0716f)
36 0x0000000005b0188d clang::ParseAST(clang::Sema&, bool, bool) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x5b0188d)
37 0x0000000004a14270 clang::FrontendAction::Execute() (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x4a14270)
38 0x0000000004988fd8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x4988fd8)
39 0x0000000004acf633 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x4acf633)
40 0x000000000270119f cc1_main(llvm::ArrayRef<char const>, char const, void*) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x270119f)
41 0x00000000026fefc0 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
42 0x00000000047ff7f2 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool) const::$_1>(long) Job.cpp:0:0
43 0x0000000003d95731 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x3d95731)
44 0x00000000047ff200 clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, bool) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x47ff200)
45 0x00000000047c4284 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x47c4284)
46 0x00000000047c47c7 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x47c47c7)
47 0x00000000047dfcf8 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x47dfcf8)
48 0x00000000026fe8e9 main (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x26fe8e9)
49 0x00001524642f1083 __libc_start_main /build/glibc-BHL3KM/glibc-2.31/csu/../csu/libc-start.c:342:3
50 0x00000000026fbe6e _start (/share/software/OpenCilk/20.04/2.0.0/bin/clang-14+0x26fbe6e)