Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clang 10 (trunk) crashed (Godbolt link inside) #45964

Closed
llvmbot opened this issue Jul 7, 2020 · 2 comments
Closed

Clang 10 (trunk) crashed (Godbolt link inside) #45964

llvmbot opened this issue Jul 7, 2020 · 2 comments
Labels
bugzilla Issues migrated from bugzilla c++17 clang:frontend Language frontend issues, e.g. anything involving "Sema" crash-on-invalid

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Jul 7, 2020

Bugzilla Link 46619
Version trunk
OS All
Reporter LLVM Bugzilla Contributor
CC @zygoloid

Extended Description

Godbolt shows a clang 10 stacktrace for the following code:
https://godbolt.org/z/8az9zC

I wanted to build a template helper to transform a std::variant of the form
std::variant<type_tag<A>, type_tag<B>, ...>
into:
std::variant<A, B, ...>
.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
feilongfl pushed a commit to feilongfl/llvm-project that referenced this issue Dec 13, 2021
The structured bindings decomposition of a non-dependent array in a dependent context (a template) were, upon instantiation, creating nested OpaqueValueExprs that would trigger assertions in CodeGen. Additionally the OpaqueValuesExpr's contained SourceExpr is being emitted in CodeGen, but there was no code for its transform in template instantiation. This would trigger other assertions such as when emitting a DeclRefExpr that refers to a VarDecl that is not marked as ODR-used.

This is all based on cursory deduction, but with the way the code flows from SemaTemplateInstantiate back to SemaInit, it is apparent that the nesting of OpaqueValueExpr is unintentional.

This commit fixes https://bugs.llvm.org/show_bug.cgi?id=45964 and possible other issues involving OpaqueValueExprs in template instantiations might be resolved.

Reviewed By: aaron.ballman, rjmccall

Differential Revision: https://reviews.llvm.org/D108482
@wheatman
Copy link
Contributor

This was fixed before 14.0.0
https://godbolt.org/z/aE3foqons

for reference

code

#include <variant>

template <typename T>
struct type_tag {
  using type = T;
};

template <typename... PossibleTypeTs>
auto unwrap(std::variant<type_tag<PossibleTypeTs>...> ts)
    -> std::variant<PossibleTypeTs...> {};

int main() {
  std::variant<type_tag<int>, type_tag<unsigned int>> wrapped_variant =
      type_tag<int>{};

  return std::visit(
      [&](auto &&arg) -> decltype(unwrap(wrapped_variant)) {
        using T = std::decay_t<decltype(arg)>;
        return 0;
      },
      wrapped_variant);
};

dump

Stack dump:
0.	Program arguments: /opt/compiler-explorer/clang-10.0.0/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-9.3.0 -fcolor-diagnostics -fno-crash-diagnostics -pthread -std=c++17 -O3 <source> 
1.	<source>:21:22: current parser token ')'
2.	<source>:12:12: parsing function body 'main'
3.	<source>:12:12: in compound statement ('{}')
4.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:1649:5: instantiating function definition 'std::visit<(lambda at <source>:17:7), std::variant<type_tag<int>, type_tag<unsigned int> > &>'
5.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:1629:5: instantiating function definition 'std::__do_visit<false, true, (lambda at <source>:17:7), std::variant<type_tag<int>, type_tag<unsigned int> > &>'
6.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:1016:36: instantiating variable definition 'std::__detail::__variant::__gen_vtable<true, std::variant<int, unsigned int>, (lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &>::_S_vtable'
7.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:882:7: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &), 2>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long> >::_S_apply'
8.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:892:2: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &), 2>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long> >::_S_apply_all_alts<0, 1>'
9.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:906:2: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &), 2>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long> >::_S_apply_single_alt<false, 1, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &)> >'
10.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:1004:7: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &)>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long, 1> >::_S_apply'
11.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:993:7: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &)>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long, 1> >::__visit_invoke'
12.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:978:7: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &)>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long, 1> >::__do_visit_invoke'
13.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/variant:957:7: instantiating function definition 'std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<std::variant<int, unsigned int> (*)((lambda at <source>:17:7) &&, std::variant<type_tag<int>, type_tag<unsigned int> > &)>, std::tuple<std::variant<type_tag<int>, type_tag<unsigned int> > &>, std::integer_sequence<unsigned long, 1> >::__visit_invoke_impl'
14.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/type_traits:2352:12: instantiating class definition 'std::__invoke_result<(lambda at <source>:17:7), type_tag<unsigned int> &>'
15.	/opt/compiler-explorer/gcc-9.3.0/lib/gcc/x86_64-linux-gnu/9.3.0/../../../../include/c++/9.3.0/type_traits:2314:12: instantiating class definition 'std::__result_of_impl<false, false, (lambda at <source>:17:7), type_tag<unsigned int> &>'
  #0 0x000056041fb0bf2a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x290bf2a)
  #1 0x000056041fb09b04 llvm::sys::RunSignalHandlers() (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x2909b04)
  #2 0x000056041fb09d75 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x2909d75)
  #3 0x000056041fa87120 CrashRecoverySignalHandler(int) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x2887120)
  #4 0x00007f6b12797420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
  #5 0x000056042183cee3 clang::Sema::tryCaptureVariable(clang::VarDecl*, clang::SourceLocation, clang::Sema::TryCaptureKind, clang::SourceLocation, bool, clang::QualType&, clang::QualType&, unsigned int const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x463cee3)
  #6 0x000056042183f251 clang::Sema::NeedToCaptureVariable(clang::VarDecl*, clang::SourceLocation) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x463f251)
  #7 0x0000560421859571 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659571)
  #8 0x00005604218598a8 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46598a8)
  #9 0x0000560421859cb5 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659cb5)
 #10 0x0000560421b9acbb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499acbb)
 #11 0x0000560421b8436b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498436b)
 #12 0x0000560421b842e2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49842e2)
 #13 0x0000560421b8f828 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCXXConstructExpr(clang::CXXConstructExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498f828)
 #14 0x0000560421b841c7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49841c7)
 #15 0x0000560421b85180 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4985180)
 #16 0x0000560421b85390 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4985390)
 #17 0x0000560421b8a086 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a086)
 #18 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
 #19 0x0000560421b8cf6c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498cf6c)
 #20 0x0000560421ba1e59 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a1e59)
 #21 0x0000560421bb14bc clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b14bc)
 #22 0x0000560421bc4507 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, llvm::Optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c4507)
 #23 0x0000560421bc6074 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c6074)
 #24 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
 #25 0x0000560421bb0fb3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b0fb3)
 #26 0x0000560421b56322 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 ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4956322)
 #27 0x0000560421b756e4 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49756e4)
 #28 0x0000560421a39bad clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4839bad)
 #29 0x0000560421a39fdf clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4839fdf)
 #30 0x0000560421a47e38 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4847e38)
 #31 0x0000560421860cbb clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4660cbb)
 #32 0x0000560421b8a0d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a0d4)
 #33 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
 #34 0x0000560421b8cf6c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498cf6c)
 #35 0x0000560421b8f561 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498f561)
 #36 0x0000560421b917c3 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49917c3)
 #37 0x0000560421b93c20 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4993c20)
 #38 0x0000560421b8d643 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498d643)
 #39 0x0000560421ba1a78 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a1a78)
 #40 0x0000560421bb14bc clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b14bc)
 #41 0x0000560421bc4507 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, llvm::Optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c4507)
 #42 0x0000560421bc6074 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c6074)
 #43 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
 #44 0x0000560421bb0fb3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b0fb3)
 #45 0x0000560421b56322 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 ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4956322)
 #46 0x0000560421b756e4 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49756e4)
 #47 0x0000560421a3b3a0 clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483b3a0)
 #48 0x0000560421a3dcf2 clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483dcf2)
 #49 0x0000560421a3e06a clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483e06a)
 #50 0x0000560421a3fa45 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483fa45)
 #51 0x00005604218608b8 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46608b8)
 #52 0x0000560421b8a0d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a0d4)
 #53 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
 #54 0x0000560421b8cf6c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498cf6c)
 #55 0x0000560421b8f561 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498f561)
 #56 0x0000560421b958bf clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49958bf)
 #57 0x0000560421bbe2a3 clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49be2a3)
 #58 0x0000560421bbe86f clang::TemplateDeclInstantiator::VisitTypedefDecl(clang::TypedefDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49be86f)
 #59 0x0000560421b96949 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4996949)
 #60 0x0000560421badc7f clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49adc7f)
 #61 0x0000560421be59ef void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49e59ef)
 #62 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
 #63 0x0000560421bf50b5 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49f50b5)
 #64 0x0000560421bf5165 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49f5165)
 #65 0x00005604215e360e clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43e360e)
 #66 0x0000560421aaffad clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x48affad)
 #67 0x0000560421b7d6f8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x497d6f8)
 #68 0x0000560421b954c5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49954c5)
 #69 0x0000560421b8c069 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498c069)
 #70 0x0000560421b8f561 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498f561)
 #71 0x0000560421b958bf clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49958bf)
 #72 0x0000560421b95bdf clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4995bdf)
 #73 0x0000560421b967d7 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49967d7)
 #74 0x0000560421badc7f clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49adc7f)
 #75 0x0000560421be59ef void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49e59ef)
 #76 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
 #77 0x0000560421bf50b5 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49f50b5)
 #78 0x0000560421bf5165 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::TypeDiagnoser&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49f5165)
 #79 0x00005604215e360e clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43e360e)
 #80 0x0000560421aaffad clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x48affad)
 #81 0x0000560421b7d6f8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x497d6f8)
 #82 0x0000560421b954c5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49954c5)
 #83 0x0000560421b8c069 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498c069)
 #84 0x0000560421ba1a78 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a1a78)
 #85 0x0000560421bb14bc clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b14bc)
 #86 0x0000560421bbee50 clang::TemplateDeclInstantiator::VisitFunctionDecl(clang::FunctionDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49bee50)
 #87 0x0000560421bc6074 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c6074)
 #88 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
 #89 0x0000560421bb0fb3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b0fb3)
 #90 0x0000560421b56322 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 ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4956322)
 #91 0x0000560421b756e4 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49756e4)
 #92 0x0000560421a3b3a0 clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483b3a0)
 #93 0x0000560421a3dcf2 clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483dcf2)
 #94 0x0000560421a3e06a clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483e06a)
 #95 0x0000560421a3fa45 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483fa45)
 #96 0x00005604218608b8 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46608b8)
 #97 0x0000560421b8a0d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a0d4)
 #98 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
 #99 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#100 0x0000560421b86227 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986227)
#101 0x0000560421baa3b3 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49aa3b3)
#102 0x0000560421baa3b3 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49aa3b3)
#103 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#104 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#105 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#106 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#107 0x0000560421b27700 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4927700)
#108 0x00005604218356a6 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46356a6)
#109 0x0000560421859a25 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659a25)
#110 0x0000560421b9acbb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499acbb)
#111 0x0000560421b8436b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498436b)
#112 0x0000560421b8a000 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a000)
#113 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#114 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#115 0x0000560421b86227 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986227)
#116 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#117 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#118 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#119 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#120 0x0000560421b27700 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4927700)
#121 0x00005604218356a6 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46356a6)
#122 0x0000560421859a25 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659a25)
#123 0x0000560421b9acbb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499acbb)
#124 0x0000560421b8436b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498436b)
#125 0x0000560421b8a000 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a000)
#126 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#127 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#128 0x0000560421b86227 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986227)
#129 0x0000560421baa2dd clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49aa2dd)
#130 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#131 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#132 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#133 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#134 0x0000560421b27700 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4927700)
#135 0x00005604218356a6 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46356a6)
#136 0x0000560421859a25 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659a25)
#137 0x0000560421b9acbb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499acbb)
#138 0x0000560421b8436b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498436b)
#139 0x0000560421ba8597 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformUnaryOperator(clang::UnaryOperator*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a8597)
#140 0x0000560421b847d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49847d4)
#141 0x0000560421b85315 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4985315)
#142 0x0000560421b85a26 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitListExpr(clang::InitListExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4985a26)
#143 0x0000560421b844cb clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49844cb)
#144 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#145 0x0000560421b85390 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExprs(clang::Expr* const*, unsigned int, bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4985390)
#146 0x0000560421b98afd clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4998afd)
#147 0x0000560421b8424c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498424c)
#148 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#149 0x0000560421b86227 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986227)
#150 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#151 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#152 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#153 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#154 0x0000560421b27700 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4927700)
#155 0x00005604218356a6 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46356a6)
#156 0x0000560421859a25 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659a25)
#157 0x000056042185a2e4 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::LookupResult&, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x465a2e4)
#158 0x000056042190b073 clang::Sema::BuildPossibleImplicitMemberExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, clang::TemplateArgumentListInfo const*, clang::Scope const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x470b073)
#159 0x000056042185aab2 clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::Scope const*, clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x465aab2)
#160 0x0000560421b9a9da clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499a9da)
#161 0x0000560421b8437f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498437f)
#162 0x0000560421b8a000 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a000)
#163 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#164 0x0000560421b86d2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986d2f)
#165 0x0000560421b841fc clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49841fc)
#166 0x0000560421ba8880 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a8880)
#167 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#168 0x0000560421baa3b3 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49aa3b3)
#169 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#170 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#171 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#172 0x00005604218811d2 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46811d2)
#173 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#174 0x0000560421838f8e clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4638f8e)
#175 0x00005604218576c0 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46576c0)
#176 0x00005604218590f1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46590f1)
#177 0x0000560421a1da0e clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x481da0e)
#178 0x0000560421a3f6a9 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) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483f6a9)
#179 0x0000560421a3fab2 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483fab2)
#180 0x00005604218608b8 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46608b8)
#181 0x0000560421b8a0d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a0d4)
#182 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#183 0x0000560421b89910 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCXXFoldExpr(clang::CXXFoldExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4989910)
#184 0x0000560421b8416a clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498416a)
#185 0x0000560421ba8880 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a8880)
#186 0x0000560421baa3b3 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49aa3b3)
#187 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#188 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#189 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#190 0x00005604218811d2 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46811d2)
#191 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#192 0x0000560421838f8e clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4638f8e)
#193 0x00005604218576c0 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46576c0)
#194 0x00005604218590f1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46590f1)
#195 0x0000560421a1da0e clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x481da0e)
#196 0x0000560421a3f6a9 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) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483f6a9)
#197 0x0000560421a3fab2 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483fab2)
#198 0x00005604218608b8 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46608b8)
#199 0x0000560421b8a0d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a0d4)
#200 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#201 0x0000560421ba8880 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49a8880)
#202 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#203 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#204 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#205 0x00005604218811d2 void llvm::function_ref<void ()>::callback_fn<clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46811d2)
#206 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#207 0x0000560421838f8e clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4638f8e)
#208 0x00005604218576c0 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46576c0)
#209 0x00005604218590f1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46590f1)
#210 0x00005604218598a8 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46598a8)
#211 0x0000560421859cb5 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659cb5)
#212 0x000056042185a2e4 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::LookupResult&, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x465a2e4)
#213 0x000056042190b073 clang::Sema::BuildPossibleImplicitMemberExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, clang::TemplateArgumentListInfo const*, clang::Scope const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x470b073)
#214 0x000056042185aab2 clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::Scope const*, clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x465aab2)
#215 0x0000560421b9a9da clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499a9da)
#216 0x0000560421b8437f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498437f)
#217 0x0000560421b8a000 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a000)
#218 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#219 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#220 0x0000560421b86504 clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986504)
#221 0x0000560421bb2b20 clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b2b20)
#222 0x0000560421bc1d51 clang::Sema::InstantiateVariableDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c1d51)
#223 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#224 0x00005604218571bf DoMarkVarDeclReferenced(clang::Sema&, clang::SourceLocation, clang::VarDecl*, clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46571bf)
#225 0x00005604218590f1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46590f1)
#226 0x00005604218598a8 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46598a8)
#227 0x0000560421859cb5 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4659cb5)
#228 0x000056042185a2e4 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::LookupResult&, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x465a2e4)
#229 0x000056042190b073 clang::Sema::BuildPossibleImplicitMemberExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, clang::TemplateArgumentListInfo const*, clang::Scope const*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x470b073)
#230 0x000056042185aab2 clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&, clang::DeclarationNameInfo const&, bool, clang::Scope const*, clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x465aab2)
#231 0x0000560421b9a9da clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*, bool, clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x499a9da)
#232 0x0000560421b8437f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498437f)
#233 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#234 0x0000560421b86504 clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986504)
#235 0x0000560421bb2b20 clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b2b20)
#236 0x0000560421bc0932 clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&, llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*, clang::DeclContext*, clang::LocalInstantiationScope*, bool, clang::VarTemplateSpecializationDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c0932)
#237 0x0000560421bc0c30 clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool, llvm::ArrayRef<clang::BindingDecl*>*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c0c30)
#238 0x0000560421bc6074 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c6074)
#239 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#240 0x0000560421bb0fb3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49b0fb3)
#241 0x0000560421b7f53c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclStmt(clang::DeclStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x497f53c)
#242 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
#243 0x0000560421bad3ca clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad3ca)
#244 0x0000560421bc3503 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49c3503)
#245 0x00005604215af62f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x43af62f)
#246 0x0000560421b27700 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4927700)
#247 0x00005604218356a6 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46356a6)
#248 0x0000560421a3f680 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) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483f680)
#249 0x0000560421a3fab2 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x483fab2)
#250 0x00005604218608b8 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x46608b8)
#251 0x0000560421b8a0d4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498a0d4)
#252 0x0000560421b84260 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4984260)
#253 0x0000560421b8514b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x498514b)
#254 0x0000560421b86227 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x4986227)
#255 0x0000560421bad4c0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) (/opt/compiler-explorer/clang-10.0.0/bin/clang+++0x49ad4c0)
clang-10: error: clang frontend command failed due to signal (use -v to see invocation)
Compiler returned: 254

@EugeneZelenko EugeneZelenko added the clang:frontend Language frontend issues, e.g. anything involving "Sema" label Jun 30, 2023
@llvmbot
Copy link
Collaborator Author

llvmbot commented Jun 30, 2023

@llvm/issue-subscribers-clang-frontend

ricejasonf added a commit to ricejasonf/llvm-project that referenced this issue Dec 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla c++17 clang:frontend Language frontend issues, e.g. anything involving "Sema" crash-on-invalid
Projects
None yet
Development

No branches or pull requests

4 participants