Skip to content

Infinite recursion in clang::Sema when defining a struct with std::atomic of the same struct since clang 20 until trunk #141789

Open
@mariete1223

Description

@mariete1223

It disappear if you remoce the mutex from the struct.

Stack dump

1.	prueba.cpp:16:2: current parser token ';'
2.	prueba.cpp:9:1: parsing struct/union/class body 'X'
  #0 0x000062ba4d7f1752 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/clang-21/bin/clang-21+0x3bbd752)
  #1 0x000062ba4d7eee3e SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
  #2 0x000072eac7e45330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
  #3 0x000062ba4b79cde3 _ZN4llvm7hashing6detail23hash_combine_range_implIKjEENSt9enable_ifIXsrNS1_16is_hashable_dataIT_EE5valueENS_9hash_codeEE4typeEPS6_SB_ (/opt/clang-21/bin/clang-21+0x1b68de3)
  #4 0x000062ba4d740788 llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&, llvm::FoldingSetBase::FoldingSetInfo const&) (/opt/clang-21/bin/clang-21+0x3b0c788)
  #5 0x000062ba507e9343 clang::DeclarationNameTable::getCXXDestructorName(clang::CanQual<clang::Type>) (/opt/clang-21/bin/clang-21+0x6bb5343)
  #6 0x000062ba507fb75a clang::CXXRecordDecl::getDestructor() const (/opt/clang-21/bin/clang-21+0x6bc775a)
  #7 0x000062ba5080021d clang::CXXRecordDecl::hasConstexprDestructor() const (/opt/clang-21/bin/clang-21+0x6bcc21d)
  #8 0x000062ba4fce8cc8 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
  #9 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #10 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #11 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #12 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #13 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #14 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #15 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #16 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #17 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #18 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #19 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #20 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #21 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #22 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #23 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #24 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #25 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #26 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #27 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #28 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #29 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #30 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #31 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #32 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #33 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #34 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #35 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #36 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #37 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #38 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #39 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #40 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #41 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #42 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #43 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #44 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #45 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #46 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #47 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #48 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #49 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #50 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #51 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #52 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #53 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #54 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #55 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #56 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #57 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #58 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #59 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #60 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #61 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #62 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #63 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #64 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #65 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #66 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #67 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #68 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #69 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #70 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #71 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #72 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #73 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #74 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #75 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #76 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #77 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #78 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #79 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #80 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #81 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #82 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #83 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #84 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #85 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #86 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #87 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #88 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #89 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #90 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #91 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #92 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #93 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #94 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #95 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #96 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #97 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #98 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
 #99 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#100 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#101 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#102 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#103 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#104 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#105 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#106 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#107 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#108 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#109 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#110 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#111 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#112 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#113 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#114 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#115 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#116 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#117 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#118 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#119 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#120 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#121 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#122 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#123 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#124 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#125 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#126 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#127 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#128 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#129 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#130 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#131 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#132 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#133 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#134 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#135 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#136 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#137 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#138 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#139 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#140 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#141 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#142 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#143 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
...
#245 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#246 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#247 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#248 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#249 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#250 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#251 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#252 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#253 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#254 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0
#255 0x000062ba4fce8e02 bool clang::Sema::CheckCompletedCXXClass(clang::Scope*, clang::CXXRecordDecl*)::'lambda0'(clang::CXXMethodDecl*)::operator()(clang::CXXMethodDecl*) const::'lambda'(clang::QualType, auto&&)::operator()<'lambda'(clang::QualType, auto&&)&>(clang::QualType, auto&&) const (.isra.0) SemaDeclCXX.cpp:0:0

Program

#include <iostream>
#include <atomic>
#include <mutex>
struct X
{
    std::atomic<X> next;
    std::mutex m;
};

To quickly reproduce

Sincel clang 20

https://godbolt.org/z/5TfPd89c8

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions