[clang] [Clang] Fix __is_trivially_equality_comparable returning true with ineligebile defaulted overloads (PR #93113)

Zequan Wu via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 27 21:34:21 PDT 2024


ZequanWu wrote:

This causes clang to crash when building chromium:
```
Assertion failed: (Loc.isValid() && "point of instantiation must be valid!"), function setPointOfInstantiation, file DeclTemplate.h, line 1938.
PLEASE submit a bug report to https://crbug.com in the Tools>LLVM component, run tools/clang/scripts/process_crashreports.py (only if inside Google) to upload crash related files, and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/webrtc/pc/rtp_transmission_manager/rtp_transmission_manager.o.d -DOFFICIAL_BUILD -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__ARM_NEON__=1 -DCR_XCODE_VERSION=1500 -DCR_CLANG_REVISION=\"llvmorg-19-init-15776-ge48c4011-0\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=09b99fd8ab300c93ff7b8df6688cafb27bd3db28 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_ENABLE_PROTOBUF=1 -DWEBRTC_STRICT_FIELD_TRIALS=0 -DRTC_ENABLE_VP9 -DRTC_ENABLE_H265 -DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY -DWEBRTC_HAVE_SCTP -DENABLE_EXTERNAL_AUTH -DWEBRTC_USE_H264 -DHAVE_WEBRTC_VIDEO -DLOGGING_INSIDE_WEBRTC -DWEBRTC_ARCH_ARM64 -DWEBRTC_HAS_NEON -DRTC_USE_PERFETTO -DWEBRTC_LIBRARY_IMPL -DWEBRTC_ENABLE_AVX2 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_MAC -DABSL_ALLOCATOR_NOTHROW=1 -DLIBYUV_DISABLE_LSX -DLIBYUV_DISABLE_LASX -I../.. -Igen -I../../buildtools/third_party/libc++ -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen/third_party/webrtc -I../../third_party/abseil-cpp -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/libyuv/include -I../../base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_out -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wunguarded-availability -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wno-thread-safety-reference-return -Wshadow -Werror -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -fcolor-diagnostics -fmerge-all-constants -fno-sized-deallocation -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -split-threshold-for-reg-with-hint=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -mllvm -inlinehint-threshold=360 -fwhole-program-vtables -fcomplete-member-pointers --target=arm64-apple-macos -mno-outline -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fno-math-errno -fno-omit-frame-pointer -fno-standalone-debug -g2 -gdwarf-aranges -Xclang -debug-info-kind=limited -isysroot ../../build/mac_files/xcode_binaries/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacos-version-min=10.15 -fprofile-use=../../chrome/build/pgo_profiles/chrome-mac-arm-main-1719532733-22346236a77819af9911adca57b0117b3bed6727-07d9695ebcbe87f7704e609d7c4e5ad21ca1a5d6.profdata -Wno-profile-instr-unprofiled -Wno-profile-instr-out-of-date -Wno-backend-plugin -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang span-ctor-from-string-literal -Xclang -plugin-arg-find-bad-constructs -Xclang raw-ref-template-as-trivial-member -Xclang -plugin-arg-find-bad-constructs -Xclang check-stack-allocated -Xclang -plugin-arg-find-bad-constructs -Xclang check-allow-auto-typedefs-better-nested -Xclang -add-plugin -Xclang raw-ptr-plugin -Xclang -plugin-arg-raw-ptr-plugin -Xclang check-raw-ptr-to-stack-allocated -Xclang -plugin-arg-raw-ptr-plugin -Xclang disable-check-raw-ptr-to-stack-allocated-error -Xclang -plugin-arg-raw-ptr-plugin -Xclang raw-ptr-exclude-path=/renderer/ -Xclang -plugin-arg-raw-ptr-plugin -Xclang raw-ptr-exclude-path=../../third_party/blink/public/web/ -Xclang -plugin-arg-raw-ptr-plugin -Xclang raw-ptr-exclude-path=../../third_party/dawn/ -DUNSAFE_BUFFERS_BUILD -Xclang -add-plugin -Xclang unsafe-buffers -Xclang -plugin-arg-unsafe-buffers -Xclang ../../build/config/unsafe_buffers_paths.txt -Wexit-time-destructors -Wglobal-constructors -Wno-shadow -Wctad-maybe-unsupported -DPROTOBUF_ALLOW_DEPRECATED=1 -Wenum-compare-conditional -Wno-c++11-narrowing-const-reference -Wno-missing-template-arg-list-after-template-kw -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../third_party/libc++/src/include -isystem../../third_party/libc++abi/src/include -fvisibility-inlines-hidden -c ../../third_party/webrtc/pc/rtp_transmission_manager.cc -o obj/third_party/webrtc/pc/rtp_transmission_manager/rtp_transmission_manager.o
1.	../../third_party/webrtc/pc/transceiver_list.h:121:76: current parser token ')'
2.	../../third_party/webrtc/pc/transceiver_list.h:33:1: parsing namespace 'webrtc'
3.	../../third_party/webrtc/pc/transceiver_list.h:94:1: parsing struct/union/class body 'webrtc::TransceiverList'
4.	../../third_party/webrtc/pc/transceiver_list.h:118:54: parsing function body 'webrtc::TransceiverList::Remove'
5.	../../third_party/webrtc/pc/transceiver_list.h:118:54: in compound statement ('{}')
6.	../../third_party/libc++/src/include/__algorithm/remove.h:28:1: instantiating function definition 'std::remove<std::__wrap_iter<webrtc::scoped_refptr<webrtc::RtpTransceiverProxyWithInternal<webrtc::RtpTransceiver>> *>, webrtc::scoped_refptr<webrtc::RtpTransceiverProxyWithInternal<webrtc::RtpTransceiver>>>'
7.	../../third_party/libc++/src/include/__algorithm/find.h:171:1: instantiating function definition 'std::find<std::__wrap_iter<webrtc::scoped_refptr<webrtc::RtpTransceiverProxyWithInternal<webrtc::RtpTransceiver>> *>, webrtc::scoped_refptr<webrtc::RtpTransceiverProxyWithInternal<webrtc::RtpTransceiver>>>'
8.	../../third_party/libc++/src/include/__type_traits/is_equality_comparable.h:51:8: instantiating class definition 'std::__libcpp_is_trivially_equality_comparable_impl<webrtc::scoped_refptr<webrtc::RtpTransceiverProxyWithInternal<webrtc::RtpTransceiver>>, webrtc::scoped_refptr<webrtc::RtpTransceiverProxyWithInternal<webrtc::RtpTransceiver>>>'
  #0 0x0000000106554448 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x101cb8448)
  #1 0x0000000106552530 llvm::sys::RunSignalHandlers() (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x101cb6530)
  #2 0x0000000106553a40 llvm::sys::CleanupOnSignal(unsigned long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x101cb7a40)
  #3 0x00000001064d8b64 CrashRecoverySignalHandler(int) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x101c3cb64)
  #4 0x0000000187d1f584 (/usr/lib/system/libsystem_platform.dylib+0x180477584)
  #5 0x0000000187ceec20 (/usr/lib/system/libsystem_pthread.dylib+0x180446c20)
  #6 0x0000000187bfba20 (/usr/lib/system/libsystem_c.dylib+0x180353a20)
  #7 0x0000000187bfad10 (/usr/lib/system/libsystem_c.dylib+0x180352d10)
  #8 0x00000001088f0b3c clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104054b3c)
  #9 0x00000001088f1e58 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104055e58)
 #10 0x00000001089cef6c void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0>(long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104132f6c)
 #11 0x0000000107fdb6b0 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10373f6b0)
 #12 0x00000001089b8280 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10411c280)
 #13 0x00000001085b2a60 addAssociatedClassesAndNamespaces((anonymous namespace)::AssociatedLookup&, clang::QualType) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103d16a60)
 #14 0x00000001085b2a04 addAssociatedClassesAndNamespaces((anonymous namespace)::AssociatedLookup&, clang::QualType) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103d16a04)
 #15 0x00000001085b238c clang::Sema::FindAssociatedClassesAndNamespaces(clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, llvm::SmallSetVector<clang::DeclContext*, 16u>&, llvm::SmallSetVector<clang::CXXRecordDecl*, 16u>&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103d1638c)
 #16 0x00000001085b5124 clang::Sema::ArgumentDependentLookup(clang::DeclarationName, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::ADLResult&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103d19124)
 #17 0x00000001086e9000 clang::Sema::AddArgumentDependentLookupCandidates(clang::DeclarationName, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::TemplateArgumentListInfo*, clang::OverloadCandidateSet&, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e4d000)
 #18 0x00000001086f50dc clang::Sema::LookupOverloadedBinOp(clang::OverloadCandidateSet&, clang::OverloadedOperatorKind, clang::UnresolvedSetImpl const&, llvm::ArrayRef<clang::Expr*>, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e590dc)
 #19 0x00000001086f55d0 clang::Sema::CreateOverloadedBinOp(clang::SourceLocation, clang::BinaryOperatorKind, clang::UnresolvedSetImpl const&, clang::Expr*, clang::Expr*, bool, bool, clang::FunctionDecl*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e595d0)
 #20 0x0000000108498074 HasNonDeletedDefaultedEqualityComparison(clang::Sema&, clang::CXXRecordDecl const*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103bfc074)
 #21 0x0000000108497c0c isTriviallyEqualityComparableType(clang::Sema&, clang::QualType) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103bfbc0c)
 #22 0x00000001084899cc EvaluateBooleanTypeTrait(clang::Sema&, clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103bed9cc)
 #23 0x0000000108488150 clang::Sema::BuildTypeTrait(clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103bec150)
 #24 0x00000001088f9e34 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTypeTraitExpr(clang::TypeTraitExpr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10405de34)
 #25 0x000000010890686c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406a86c)
 #26 0x00000001088f363c (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10405763c)
 #27 0x0000000108912054 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104076054)
 #28 0x0000000108919e8c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10407de8c)
 #29 0x00000001088ed26c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10405126c)
 #30 0x0000000108916a38 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10407aa38)
 #31 0x00000001088ecf88 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104050f88)
 #32 0x00000001088ec7b8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040507b8)
 #33 0x00000001088efaf4 clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104053af4)
 #34 0x00000001088f02d8 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040542d8)
 #35 0x00000001088f1e58 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104055e58)
 #36 0x00000001089cef6c void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::$_0>(long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104132f6c)
 #37 0x0000000107fdb6b0 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10373f6b0)
 #38 0x00000001089b8280 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10411c280)
 #39 0x00000001089b7b44 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10411bb44)
 #40 0x000000010800a130 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10376e130)
 #41 0x00000001085b1434 clang::Sema::LookupParsedName(clang::LookupResult&, clang::Scope*, clang::CXXScopeSpec*, clang::QualType, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103d15434)
 #42 0x0000000108329ad0 clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::TypeSourceInfo**) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a8dad0)
 #43 0x00000001089079d0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406b9d0)
 #44 0x00000001089068b8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406a8b8)
 #45 0x000000010890686c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406a86c)
 #46 0x00000001088f363c (anonymous namespace)::TemplateInstantiator::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10405763c)
 #47 0x0000000108912054 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104076054)
 #48 0x0000000108919e8c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10407de8c)
 #49 0x00000001088ed26c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10405126c)
 #50 0x0000000108916a38 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10407aa38)
 #51 0x00000001088ecf88 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104050f88)
 #52 0x00000001088ec7b8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040507b8)
 #53 0x00000001088ed4a4 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040514a4)
 #54 0x000000010877c1cc clang::Sema::CheckTemplateArgument(clang::NamedDecl*, clang::TemplateArgumentLoc&, clang::NamedDecl*, clang::SourceLocation, clang::SourceLocation, unsigned int, llvm::SmallVectorImpl<clang::TemplateArgument>&, llvm::SmallVectorImpl<clang::TemplateArgument>&, clang::Sema::CheckTemplateArgumentKind) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103ee01cc)
 #55 0x0000000108878bc0 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103fdcbc0)
 #56 0x00000001088e6ce4 void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::$_2>(long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10404ace4)
 #57 0x0000000107fdb6b0 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10373f6b0)
 #58 0x000000010887ad04 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103fded04)
 #59 0x00000001086e182c clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e4582c)
 #60 0x00000001086f20e8 AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e560e8)
 #61 0x00000001086f1f38 clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e55f38)
 #62 0x00000001086f2444 clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e56444)
 #63 0x00000001086f2814 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e56814)
 #64 0x0000000108321c60 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a85c60)
 #65 0x00000001083365c0 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a9a5c0)
 #66 0x0000000108901f28 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104065f28)
 #67 0x00000001088f5348 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104059348)
 #68 0x0000000108901dec clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104065dec)
 #69 0x000000010891d6b4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040816b4)
 #70 0x0000000108908f78 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406cf78)
 #71 0x00000001088f2b50 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104056b50)
 #72 0x000000010894a6e8 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040ae6e8)
 #73 0x000000010844d658 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::$_0>(long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103bb1658)
 #74 0x0000000107fdb6b0 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10373f6b0)
 #75 0x000000010835ca48 clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103ac0a48)
 #76 0x00000001083611d8 MarkExprReferenced(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::Expr*, bool, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103ac51d8)
 #77 0x0000000108327958 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a8b958)
 #78 0x0000000108327180 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a8b180)
 #79 0x00000001086f0edc clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e54edc)
 #80 0x00000001086f2b3c FinishOverloadedCallExpr(clang::Sema&, clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, clang::OverloadCandidateSet*, clang::OverloadCandidate**, clang::OverloadingResult, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e56b3c)
 #81 0x00000001086f2974 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e56974)
 #82 0x0000000108321c60 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a85c60)
 #83 0x00000001083365c0 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a9a5c0)
 #84 0x0000000108901f28 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104065f28)
 #85 0x00000001089068b8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406a8b8)
 #86 0x00000001088f2bdc clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104056bdc)
 #87 0x0000000108908f78 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10406cf78)
 #88 0x00000001088f2b50 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x104056b50)
 #89 0x000000010894a6e8 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1040ae6e8)
 #90 0x000000010844d658 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::$_0>(long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103bb1658)
 #91 0x0000000107fdb6b0 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10373f6b0)
 #92 0x000000010835ca48 clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103ac0a48)
 #93 0x00000001083611d8 MarkExprReferenced(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::Expr*, bool, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103ac51d8)
 #94 0x0000000108327958 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a8b958)
 #95 0x0000000108327180 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a8b180)
 #96 0x00000001086f0edc clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e54edc)
 #97 0x00000001086f2b3c FinishOverloadedCallExpr(clang::Sema&, clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, clang::OverloadCandidateSet*, clang::OverloadCandidate**, clang::OverloadingResult, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e56b3c)
 #98 0x00000001086f2974 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103e56974)
 #99 0x0000000108321c60 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a85c60)
#100 0x00000001083365c0 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103a9a5c0)
#101 0x0000000107eb2f7c clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103616f7c)
#102 0x0000000107eb4af8 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103618af8)
#103 0x0000000107eb6ae4 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10361aae4)
#104 0x0000000107eb07d0 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1036147d0)
#105 0x0000000107ebbf38 clang::Parser::ParseExpressionList(llvm::SmallVectorImpl<clang::Expr*>&, llvm::function_ref<void ()>, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10361ff38)
#106 0x0000000107eb2e20 clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103616e20)
#107 0x0000000107eb4af8 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103618af8)
#108 0x0000000107eb07d0 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1036147d0)
#109 0x0000000107eb06c0 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1036146c0)
#110 0x0000000107e93e78 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035f7e78)
#111 0x0000000107e92114 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035f6114)
#112 0x0000000107e91a68 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035f5a68)
#113 0x0000000107e9a88c clang::Parser::ParseCompoundStatementBody(bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035fe88c)
#114 0x0000000107e9b868 clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035ff868)
#115 0x0000000107e8f870 clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035f3870)
#116 0x0000000107e8e198 clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035f2198)
#117 0x0000000107f0bc20 clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10366fc20)
#118 0x0000000107f09c24 clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10366dc24)
#119 0x0000000107ee8c40 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10364cc40)
#120 0x0000000107f20e60 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103684e60)
#121 0x0000000107f20a90 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103684a90)
#122 0x0000000107f1fb98 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103683b98)
#123 0x0000000107f0114c clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10366514c)
#124 0x0000000107f0029c clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10366429c)
#125 0x0000000107ee3448 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103647448)
#126 0x0000000107f1f754 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103683754)
#127 0x0000000107f1dcd8 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x103681cd8)
#128 0x0000000107e49f50 clang::ParseAST(clang::Sema&, bool, bool) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1035adf50)
#129 0x000000010704f0a8 clang::FrontendAction::Execute() (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1027b30a8)
#130 0x0000000106fcd560 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x102731560)
#131 0x0000000107130bdc clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x102894bdc)
#132 0x00000001048a2548 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x100006548)
#133 0x000000010489f8b0 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1000038b0)
#134 0x0000000106e69d1c void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const::$_0>(long) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1025cdd1c)
#135 0x00000001064d887c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x101c3c87c)
#136 0x0000000106e69358 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__1::optional<llvm::StringRef>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool*) const (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1025cd358)
#137 0x0000000106e2e934 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x102592934)
#138 0x0000000106e2ebb4 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&, bool) const (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x102592bb4)
#139 0x0000000106e4adcc clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*>>&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x1025aedcc)
#140 0x000000010489ee20 clang_main(int, char**, llvm::ToolContext const&) (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x100002e20)
#141 0x00000001048ab810 main (/Volumes/Work/s/w/ir/cache/builder/src/third_party/llvm-build/Release+Asserts/bin/clang-19+0x10000f810)
#142 0x00000001879660e0 
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 19.0.0git (https://chromium.googlesource.com/a/external/github.com/llvm/llvm-project e48c4011ca80385573f1b92793c75dc98abb228f)
Target: arm64-apple-macos
Thread model: posix
InstalledDir: ../../third_party/llvm-build/Release+Asserts/bin
Build config: +assertions
clang++: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: ../../tools/clang/crashreports/rtp_transmission_manager-8cce12.cpp
clang++: note: diagnostic msg: ../../tools/clang/crashreports/rtp_transmission_manager-8cce12.sh
clang++: note: diagnostic msg: Crash backtrace is located in
clang++: note: diagnostic msg: /Users/chrome-bot/Library/Logs/DiagnosticReports/clang++_<YYYY-MM-DD-HHMMSS>_<hostname>.crash
clang++: note: diagnostic msg: (choose the .crash file that corresponds to your crash)
clang++: note: diagnostic msg: 
```

I'm running creduce to get a smaller repro for it.

https://github.com/llvm/llvm-project/pull/93113


More information about the cfe-commits mailing list