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

CTAD on constrained templates crashes in an std::format usage #58548

Closed
nikola-sh opened this issue Oct 22, 2022 · 4 comments · Fixed by #80395
Closed

CTAD on constrained templates crashes in an std::format usage #58548

nikola-sh opened this issue Oct 22, 2022 · 4 comments · Fixed by #80395
Assignees
Labels
c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" concepts C++20 concepts crash-on-valid

Comments

@nikola-sh
Copy link

nikola-sh commented Oct 22, 2022

Ubuntu 22.04

Ubuntu clang version 14.0.0-1ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

diagnostic_data.zip

0.      Program arguments: /usr/bin/clang++ -DAUXLIB_FMT_BY_STD_FORMAT -DBOOST_FILESYSTEM_NO_DEPRECATED -D_FILE_OFFSET_BITS=64 -I/mnt/d/MyDocs/Projects/auxlib/include -isystem /mnt/d/libs/boost_1_78_0 -stdlib=libc++ -Wall -Wno-unused-function -Wno-unused-parameter -Wno-dangling-else -Werror -O2 -g -fPIC -std=gnu++20 -MD -MT auxlib/CMakeFiles/auxlib.dir/src/execute_process.cpp.o -MF auxlib/CMakeFiles/auxlib.dir/src/execute_process.cpp.o.d -o auxlib/CMakeFiles/auxlib.dir/src/execute_process.cpp.o -c /mnt/d/MyDocs/Projects/auxlib/src/execute_process.cpp
1.      <eof> parser at end of file
2.      /usr/lib/llvm-14/bin/../include/c++/v1/format:313:1: instantiating function definition 'std::vformat_to<std::back_insert_iterator<std::string>>'
3.      /usr/lib/llvm-14/bin/../include/c++/v1/format:295:5: instantiating function definition 'std::__vformat_to<std::back_insert_iterator<std::string>, char, std::back_insert_iterator<std::string>>'
4.      /usr/lib/llvm-14/bin/../include/c++/v1/format:249:1: instantiating function definition 'std::__format::__vformat_to<std::basic_format_parse_context<char>, std::format_context>'
5.      /usr/lib/llvm-14/bin/../include/c++/v1/format:207:1: instantiating function definition 'std::__format::__handle_replacement_field<char, std::basic_format_parse_context<char>, std::format_context>'
6.      /usr/lib/llvm-14/bin/../include/c++/v1/__format/format_arg.h:68:1: instantiating function definition 'std::visit_format_arg<(lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), std::format_context>'
7.      /usr/lib/llvm-14/bin/../include/c++/v1/type_traits:3828:29: instantiating class definition 'std::invoke_result<(lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), bool &>'
8.      /usr/lib/llvm-14/bin/../include/c++/v1/type_traits:3719:8: instantiating class definition 'std::__invoke_of<(lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), bool &>'
9.      /usr/lib/llvm-14/bin/../include/c++/v1/type_traits:3652:8: instantiating class definition 'std::__invokable_r<void, (lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), bool &>'
10.     /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7: instantiating function definition 'std::__format::__handle_replacement_field(const char *, const char *, std::basic_format_parse_context<char> &, std::format_context &)::(anonymous class)::operator()<bool>'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x31)[0x7f7a4993cd01]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0xee)[0x7f7a4993aa3e]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15CleanupOnSignalEm+0xfb)[0x7f7a4993c0ab]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(+0xd6bdff)[0x7f7a49868dff]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f7a485e6520]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang16TemplateArgument30getNonTypeTemplateArgumentTypeEv+0xb)[0x7f7a5023b21b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1759be6)[0x7f7a50b28be6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17504fc)[0x7f7a50b1f4fc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1758ed3)[0x7f7a50b27ed3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1758c52)[0x7f7a50b27c52]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x175b98e)[0x7f7a50b2a98e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1750615)[0x7f7a50b1f615]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17546ac)[0x7f7a50b236ac]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x174e695)[0x7f7a50b1d695]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x6bb)[0x7f7a50b1cf9b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x166d3ab)[0x7f7a50a3c3ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165d452)[0x7f7a50a2c452]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x21c)[0x7f7a50a2b9cc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c3ad5)[0x7f7a50b92ad5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17bafb4)[0x7f7a50b89fb4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstExprEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListE+0x4a)[0x7f7a50b77cea]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1250bbf)[0x7f7a5061fbbf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27CheckConstraintSatisfactionEPKNS_9NamedDeclEN4llvm8ArrayRefIPKNS_4ExprEEENS5_INS_16TemplateArgumentEEENS_11SourceRangeERNS_22ConstraintSatisfactionE+0x496)[0x7f7a5061a9f6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22CheckConceptTemplateIdERKNS_12CXXScopeSpecENS_14SourceLocationERKNS_19DeclarationNameInfoEPNS_9NamedDeclEPNS_11ConceptDeclEPKNS_24TemplateArgumentListInfoE+0x15c)[0x7f7a50a9e04c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b6189)[0x7f7a50b85189]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstExprEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListE+0x4a)[0x7f7a50b77cea]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1250bbf)[0x7f7a5061fbbf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27CheckConstraintSatisfactionEPKNS_9NamedDeclEN4llvm8ArrayRefIPKNS_4ExprEEENS5_INS_16TemplateArgumentEEENS_11SourceRangeERNS_22ConstraintSatisfactionE+0x496)[0x7f7a5061a9f6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x179e08d)[0x7f7a50b6d08d]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x179d5f2)[0x7f7a50b6c5f2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_38ClassTemplatePartialSpecializationDeclERKNS_20TemplateArgumentListERNS_4sema21TemplateDeductionInfoE+0x328)[0x7f7a50b199e8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x2b6)[0x7f7a50b7b9b6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEj+0x2e)[0x7f7a50c1876e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22ActOnUninitializedDeclEPNS_4DeclE+0x6d6)[0x7f7a50646506]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema30InstantiateVariableInitializerEPNS_7VarDeclES2_RKNS_30MultiLevelTemplateArgumentListE+0x29f)[0x7f7a50bb9f8f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema26BuildVariableInstantiationEPNS_7VarDeclES2_RKNS_30MultiLevelTemplateArgumentListEPN4llvm11SmallVectorINS0_25LateInstantiatedAttributeELj16EEEPNS_11DeclContextEPNS_23LocalInstantiationScopeEbPNS_29VarTemplateSpecializationDeclE+0x646)[0x7f7a50badf46]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator12VisitVarDeclEPNS_7VarDeclEbPN4llvm8ArrayRefIPNS_11BindingDeclEEE+0x25a)[0x7f7a50bad74a]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ce14a)[0x7f7a50b9d14a]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ce6fc)[0x7f7a50b9d6fc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ce6fc)[0x7f7a50b9d6fc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE+0x4c)[0x7f7a50b7c92c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xd28)[0x7f7a50bbdca8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16DeduceReturnTypeEPNS_12FunctionDeclENS_14SourceLocationEb+0xe8)[0x7f7a50b20818]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema17DiagnoseUseOfDeclEPNS_9NamedDeclEN4llvm8ArrayRefINS_14SourceLocationEEEPKNS_17ObjCInterfaceDeclEbbPS7_+0x5d6)[0x7f7a50778476]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165e8e6)[0x7f7a50a2d8e6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28BuildCallToObjectOfClassTypeEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_+0xf4f)[0x7f7a50a3346f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x68c)[0x7f7a5077ce1c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c7066)[0x7f7a50b96066]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEPNS_13CXXRecordDeclENS_10QualifiersE+0x72c)[0x7f7a50b7619c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE+0x183)[0x7f7a50bb51f3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17VisitFunctionDeclEPNS_12FunctionDeclEPNS_21TemplateParameterListENS0_11RewriteKindE+0x279)[0x7f7a50bb3599]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEPKNS4_INS0_15OriginalCallArgEEEbNS3_12function_refIFbvEEE+0xaa9)[0x7f7a50b1baa9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a0de0)[0x7f7a50b6fde0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x9cb)[0x7f7a50b1d2ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEb+0x12f)[0x7f7a50a2b2bf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22buildOverloadedCallSetEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprEN4llvm15MutableArrayRefIS4_EENS_14SourceLocationEPNS_20OverloadCandidateSetEPNS_12ActionResultIS4_Lb1EEE+0xa1)[0x7f7a50a2b5e1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x12d)[0x7f7a50a2b8dd]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c7066)[0x7f7a50b96066]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEPNS_13CXXRecordDeclENS_10QualifiersE+0x72c)[0x7f7a50b7619c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE+0x183)[0x7f7a50bb51f3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator18VisitCXXMethodDeclEPNS_13CXXMethodDeclEPNS_21TemplateParameterListEN4llvm8OptionalIPKNS_27ASTTemplateArgumentListInfoEEENS0_11RewriteKindE+0x3dc)[0x7f7a50bb1d0c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEPKNS4_INS0_15OriginalCallArgEEEbNS3_12function_refIFbvEEE+0xaa9)[0x7f7a50b1baa9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a0de0)[0x7f7a50b6fde0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x9cb)[0x7f7a50b1d2ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEb+0x12f)[0x7f7a50a2b2bf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22buildOverloadedCallSetEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprEN4llvm15MutableArrayRefIS4_EENS_14SourceLocationEPNS_20OverloadCandidateSetEPNS_12ActionResultIS4_Lb1EEE+0xa1)[0x7f7a50a2b5e1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x12d)[0x7f7a50a2b8dd]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c7066)[0x7f7a50b96066]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a6129)[0x7f7a50b75129]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEb+0x64)[0x7f7a50b74df4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator26InstantiateTypedefNameDeclEPNS_15TypedefNameDeclEb+0x6b)[0x7f7a50babcab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator18VisitTypeAliasDeclEPNS_13TypeAliasDeclE+0x11)[0x7f7a50bacda1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb+0x63b)[0x7f7a50b7a01b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x89e)[0x7f7a50b7bf9e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema26RequireCompleteDeclContextERNS_12CXXScopeSpecEPNS_11DeclContextE+0xe4)[0x7f7a5055fa04]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema33BuildQualifiedDeclarationNameExprERNS_12CXXScopeSpecERKNS_19DeclarationNameInfoEbPKNS_5ScopeEPPNS_14TypeSourceInfoE+0x65)[0x7f7a50783855]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c03ba)[0x7f7a50b8f3ba]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17bf324)[0x7f7a50b8e324]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17bde30)[0x7f7a50b8ce30]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17cae96)[0x7f7a50b99e96]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a6129)[0x7f7a50b75129]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19SubstBaseSpecifiersEPNS_13CXXRecordDeclES2_RKNS_30MultiLevelTemplateArgumentListE+0x273)[0x7f7a50b79623]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb+0x49b)[0x7f7a50b79e7b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x89e)[0x7f7a50b7bf9e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema18CheckBaseSpecifierEPNS_13CXXRecordDeclENS_11SourceRangeEbNS_15AccessSpecifierEPNS_14TypeSourceInfoENS_14SourceLocationE+0x365)[0x7f7a506d6d35]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19SubstBaseSpecifiersEPNS_13CXXRecordDeclES2_RKNS_30MultiLevelTemplateArgumentListE+0x43f)[0x7f7a50b797ef]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb+0x49b)[0x7f7a50b79e7b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x89e)[0x7f7a50b7bf9e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema26RequireCompleteDeclContextERNS_12CXXScopeSpecEPNS_11DeclContextE+0xe4)[0x7f7a5055fa04]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema17CheckTypenameTypeENS_21ElaboratedTypeKeywordENS_14SourceLocationENS_22NestedNameSpecifierLocERKNS_14IdentifierInfoES2_b+0x90)[0x7f7a50aac270]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c5771)[0x7f7a50b94771]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a6129)[0x7f7a50b75129]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstTypeENS_8QualTypeERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameE+0x7b)[0x7f7a50b75a1b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19CheckTemplateIdTypeENS_12TemplateNameENS_14SourceLocationERNS_24TemplateArgumentListInfoE+0x333)[0x7f7a50a96313]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17be5c9)[0x7f7a50b8d5c9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17cae96)[0x7f7a50b99e96]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEPNS_13CXXRecordDeclENS_10QualifiersE+0x523)[0x7f7a50b75f93]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE+0x183)[0x7f7a50bb51f3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17VisitFunctionDeclEPNS_12FunctionDeclEPNS_21TemplateParameterListENS0_11RewriteKindE+0x279)[0x7f7a50bb3599]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEPKNS4_INS0_15OriginalCallArgEEEbNS3_12function_refIFbvEEE+0xaa9)[0x7f7a50b1baa9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a0de0)[0x7f7a50b6fde0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x9cb)[0x7f7a50b1d2ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEb+0x12f)[0x7f7a50a2b2bf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22buildOverloadedCallSetEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprEN4llvm15MutableArrayRefIS4_EENS_14SourceLocationEPNS_20OverloadCandidateSetEPNS_12ActionResultIS4_Lb1EEE+0xa1)[0x7f7a50a2b5e1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x12d)[0x7f7a50a2b8dd]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17aed57)[0x7f7a50b7dd57]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17d14b5)[0x7f7a50ba04b5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17d172d)[0x7f7a50ba072d]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17d18aa)[0x7f7a50ba08aa]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE+0x4c)[0x7f7a50b7c92c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xd28)[0x7f7a50bbdca8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16DeduceReturnTypeEPNS_12FunctionDeclENS_14SourceLocationEb+0xe8)[0x7f7a50b20818]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema17DiagnoseUseOfDeclEPNS_9NamedDeclEN4llvm8ArrayRefINS_14SourceLocationEEEPKNS_17ObjCInterfaceDeclEbbPS7_+0x5d6)[0x7f7a50778476]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165cad6)[0x7f7a50a2bad6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x21c)[0x7f7a50a2b9cc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ad9b2)[0x7f7a50b7c9b2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE+0x4c)[0x7f7a50b7c92c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xd28)[0x7f7a50bbdca8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xe4b)[0x7f7a50bbddcb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xe4b)[0x7f7a50bbddcb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xe4b)[0x7f7a50bbddcb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema33ActOnEndOfTranslationUnitFragmentENS0_14TUFragmentKindE+0x18b)[0x7f7a504ec60b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema25ActOnEndOfTranslationUnitEv+0x161)[0x7f7a504ecc71]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6Parser17ParseTopLevelDeclERNS_9OpaquePtrINS_12DeclGroupRefEEEb+0x526)[0x7f7a4fe90c96]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang8ParseASTERNS_4SemaEbb+0x2fd)[0x7f7a4fdd38ed]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang13CodeGenAction13ExecuteActionEv+0xb1)[0x7f7a50f47b71]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang14FrontendAction7ExecuteEv+0x67)[0x7f7a518e3b57]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x336)[0x7f7a5183b3a6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x29b)[0x7f7a5195d45b]
/usr/bin/clang++(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x99b)[0x41328b]
/usr/bin/clang++[0x4114bc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x20eaed2)[0x7f7a514b9ed2]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm20CrashRecoveryContext9RunSafelyENS_12function_refIFvvEEE+0xdd)[0x7f7a49868b6d]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver10CC1Command7ExecuteEN4llvm8ArrayRefINS2_8OptionalINS2_9StringRefEEEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPb+0x140)[0x7f7a514b99c0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation14ExecuteCommandERKNS0_7CommandERPS3_+0x3f3)[0x7f7a51484183]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation11ExecuteJobsERKNS0_7JobListERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x8a)[0x7f7a5148440a]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6driver6Driver18ExecuteCompilationERNS0_11CompilationERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x1a7)[0x7f7a5149e507]
/usr/bin/clang++(main+0x2816)[0x410f26]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f7a485cdd90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f7a485cde40]
/usr/bin/clang++(_start+0x25)[0x40e3b5]
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Ubuntu clang version 14.0.0-1ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************
@royjacobson
Copy link
Contributor

Confirmed on trunk https://godbolt.org/z/PzGKnjEGK. Reduced to:

template <class, class> struct formatter;
template <class, class> struct basic_format_context {};
template <class _Ctx> void __handle_replacement_field(_Ctx __arg) {
  formatter<decltype(__arg), int> __ctx;
}

int vformat_to() {
  __handle_replacement_field(0);
  return 0;
}
int vformat___res(vformat_to());

template <typename CharType>
concept has_format_function =
    format(basic_format_context<CharType, CharType>());

template <typename ValueType, typename CharType>
requires has_format_function<CharType>
struct formatter<ValueType, CharType> {
  template <typename OutputIt>
  OutputIt format(basic_format_context<OutputIt, CharType>);
};

@royjacobson royjacobson added clang:frontend Language frontend issues, e.g. anything involving "Sema" concepts C++20 concepts and removed new issue labels Oct 22, 2022
@llvmbot
Copy link
Collaborator

llvmbot commented Oct 22, 2022

@llvm/issue-subscribers-clang-frontend

@royjacobson royjacobson changed the title clang-14 crashes at std::format CTAD on constrained templates crashes in an std::format usage Oct 22, 2022
@shafik
Copy link
Collaborator

shafik commented Oct 23, 2022

@royjacobson I don't see getNonTypeTemplateArgumentType which is in the original crash in your backtrace although they look very close.

@yuanfang-chen yuanfang-chen self-assigned this Jul 5, 2023
zyn0217 added a commit that referenced this issue Feb 3, 2024
…Candidate (#80395)

This is yet another one-line patch to fix crashes on constraint
substitution.

```cpp
template <class, class> struct formatter;

template <class, class> struct basic_format_context {};

template <typename CharType>
concept has_format_function = format(basic_format_context<CharType, CharType>());

template <typename ValueType, typename CharType>
  requires has_format_function<CharType>
struct formatter<ValueType, CharType> {
  template <typename OutputIt>
  CharType format(basic_format_context<OutputIt, CharType>);
};
```

In this case, we would build up a `RecoveryExpr` for a call within a
constraint expression due to the absence of viable functions. The
heuristic algorithm attempted to find such a function inside of a
ClassTemplatePartialSpecialization, from which we started to substitute
its requires-expression, and it succeeded with a FunctionTemplate such
that

1) It has only one parameter, which is dependent.
2) The only one parameter depends on two template parameters. They are,
in canonical form, `<template-parameter-1-0>` and
`<template-parameter-0-1>` respectively.

Before we emit an error, we still want to recover the most viable
functions. This goes downhill to deducing template parameters against
its arguments, where we would collect the argument type with the same
depth as the parameter type into a Deduced set. The size of the set is
presumed to be that of function template parameters, which is 1 in this
case. However, since we haven't yet properly set the template depth
before the dance, we'll end up putting the type for
`<template-parameter-0-1>` to the second position of Deduced set, which
is unfortunately an access violation!

The bug seems to appear since clang 12.0.

This fixes [the
case](#58548 (comment)).
@llvmbot
Copy link
Collaborator

llvmbot commented Feb 3, 2024

@llvm/issue-subscribers-c-20

Author: None (nikola-sh)

Ubuntu 22.04 ```console Ubuntu clang version 14.0.0-1ubuntu1 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin ```

diagnostic_data.zip

0.      Program arguments: /usr/bin/clang++ -DAUXLIB_FMT_BY_STD_FORMAT -DBOOST_FILESYSTEM_NO_DEPRECATED -D_FILE_OFFSET_BITS=64 -I/mnt/d/MyDocs/Projects/auxlib/include -isystem /mnt/d/libs/boost_1_78_0 -stdlib=libc++ -Wall -Wno-unused-function -Wno-unused-parameter -Wno-dangling-else -Werror -O2 -g -fPIC -std=gnu++20 -MD -MT auxlib/CMakeFiles/auxlib.dir/src/execute_process.cpp.o -MF auxlib/CMakeFiles/auxlib.dir/src/execute_process.cpp.o.d -o auxlib/CMakeFiles/auxlib.dir/src/execute_process.cpp.o -c /mnt/d/MyDocs/Projects/auxlib/src/execute_process.cpp
1.      &lt;eof&gt; parser at end of file
2.      /usr/lib/llvm-14/bin/../include/c++/v1/format:313:1: instantiating function definition 'std::vformat_to&lt;std::back_insert_iterator&lt;std::string&gt;&gt;'
3.      /usr/lib/llvm-14/bin/../include/c++/v1/format:295:5: instantiating function definition 'std::__vformat_to&lt;std::back_insert_iterator&lt;std::string&gt;, char, std::back_insert_iterator&lt;std::string&gt;&gt;'
4.      /usr/lib/llvm-14/bin/../include/c++/v1/format:249:1: instantiating function definition 'std::__format::__vformat_to&lt;std::basic_format_parse_context&lt;char&gt;, std::format_context&gt;'
5.      /usr/lib/llvm-14/bin/../include/c++/v1/format:207:1: instantiating function definition 'std::__format::__handle_replacement_field&lt;char, std::basic_format_parse_context&lt;char&gt;, std::format_context&gt;'
6.      /usr/lib/llvm-14/bin/../include/c++/v1/__format/format_arg.h:68:1: instantiating function definition 'std::visit_format_arg&lt;(lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), std::format_context&gt;'
7.      /usr/lib/llvm-14/bin/../include/c++/v1/type_traits:3828:29: instantiating class definition 'std::invoke_result&lt;(lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), bool &amp;&gt;'
8.      /usr/lib/llvm-14/bin/../include/c++/v1/type_traits:3719:8: instantiating class definition 'std::__invoke_of&lt;(lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), bool &amp;&gt;'
9.      /usr/lib/llvm-14/bin/../include/c++/v1/type_traits:3652:8: instantiating class definition 'std::__invokable_r&lt;void, (lambda at /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7), bool &amp;&gt;'
10.     /usr/lib/llvm-14/bin/../include/c++/v1/format:227:7: instantiating function definition 'std::__format::__handle_replacement_field(const char *, const char *, std::basic_format_parse_context&lt;char&gt; &amp;, std::format_context &amp;)::(anonymous class)::operator()&lt;bool&gt;'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x31)[0x7f7a4993cd01]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0xee)[0x7f7a4993aa3e]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15CleanupOnSignalEm+0xfb)[0x7f7a4993c0ab]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(+0xd6bdff)[0x7f7a49868dff]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f7a485e6520]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang16TemplateArgument30getNonTypeTemplateArgumentTypeEv+0xb)[0x7f7a5023b21b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1759be6)[0x7f7a50b28be6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17504fc)[0x7f7a50b1f4fc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1758ed3)[0x7f7a50b27ed3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1758c52)[0x7f7a50b27c52]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x175b98e)[0x7f7a50b2a98e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1750615)[0x7f7a50b1f615]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17546ac)[0x7f7a50b236ac]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x174e695)[0x7f7a50b1d695]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x6bb)[0x7f7a50b1cf9b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x166d3ab)[0x7f7a50a3c3ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165d452)[0x7f7a50a2c452]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x21c)[0x7f7a50a2b9cc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c3ad5)[0x7f7a50b92ad5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17bafb4)[0x7f7a50b89fb4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstExprEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListE+0x4a)[0x7f7a50b77cea]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1250bbf)[0x7f7a5061fbbf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27CheckConstraintSatisfactionEPKNS_9NamedDeclEN4llvm8ArrayRefIPKNS_4ExprEEENS5_INS_16TemplateArgumentEEENS_11SourceRangeERNS_22ConstraintSatisfactionE+0x496)[0x7f7a5061a9f6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22CheckConceptTemplateIdERKNS_12CXXScopeSpecENS_14SourceLocationERKNS_19DeclarationNameInfoEPNS_9NamedDeclEPNS_11ConceptDeclEPKNS_24TemplateArgumentListInfoE+0x15c)[0x7f7a50a9e04c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b6189)[0x7f7a50b85189]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstExprEPNS_4ExprERKNS_30MultiLevelTemplateArgumentListE+0x4a)[0x7f7a50b77cea]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1250bbf)[0x7f7a5061fbbf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27CheckConstraintSatisfactionEPKNS_9NamedDeclEN4llvm8ArrayRefIPKNS_4ExprEEENS5_INS_16TemplateArgumentEEENS_11SourceRangeERNS_22ConstraintSatisfactionE+0x496)[0x7f7a5061a9f6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x179e08d)[0x7f7a50b6d08d]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x179d5f2)[0x7f7a50b6c5f2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_38ClassTemplatePartialSpecializationDeclERKNS_20TemplateArgumentListERNS_4sema21TemplateDeductionInfoE+0x328)[0x7f7a50b199e8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x2b6)[0x7f7a50b7b9b6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEj+0x2e)[0x7f7a50c1876e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22ActOnUninitializedDeclEPNS_4DeclE+0x6d6)[0x7f7a50646506]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema30InstantiateVariableInitializerEPNS_7VarDeclES2_RKNS_30MultiLevelTemplateArgumentListE+0x29f)[0x7f7a50bb9f8f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema26BuildVariableInstantiationEPNS_7VarDeclES2_RKNS_30MultiLevelTemplateArgumentListEPN4llvm11SmallVectorINS0_25LateInstantiatedAttributeELj16EEEPNS_11DeclContextEPNS_23LocalInstantiationScopeEbPNS_29VarTemplateSpecializationDeclE+0x646)[0x7f7a50badf46]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator12VisitVarDeclEPNS_7VarDeclEbPN4llvm8ArrayRefIPNS_11BindingDeclEEE+0x25a)[0x7f7a50bad74a]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ce14a)[0x7f7a50b9d14a]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ce6fc)[0x7f7a50b9d6fc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ce6fc)[0x7f7a50b9d6fc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE+0x4c)[0x7f7a50b7c92c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xd28)[0x7f7a50bbdca8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16DeduceReturnTypeEPNS_12FunctionDeclENS_14SourceLocationEb+0xe8)[0x7f7a50b20818]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema17DiagnoseUseOfDeclEPNS_9NamedDeclEN4llvm8ArrayRefINS_14SourceLocationEEEPKNS_17ObjCInterfaceDeclEbbPS7_+0x5d6)[0x7f7a50778476]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165e8e6)[0x7f7a50a2d8e6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28BuildCallToObjectOfClassTypeEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_+0xf4f)[0x7f7a50a3346f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x68c)[0x7f7a5077ce1c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c7066)[0x7f7a50b96066]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEPNS_13CXXRecordDeclENS_10QualifiersE+0x72c)[0x7f7a50b7619c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE+0x183)[0x7f7a50bb51f3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17VisitFunctionDeclEPNS_12FunctionDeclEPNS_21TemplateParameterListENS0_11RewriteKindE+0x279)[0x7f7a50bb3599]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEPKNS4_INS0_15OriginalCallArgEEEbNS3_12function_refIFbvEEE+0xaa9)[0x7f7a50b1baa9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a0de0)[0x7f7a50b6fde0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x9cb)[0x7f7a50b1d2ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEb+0x12f)[0x7f7a50a2b2bf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22buildOverloadedCallSetEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprEN4llvm15MutableArrayRefIS4_EENS_14SourceLocationEPNS_20OverloadCandidateSetEPNS_12ActionResultIS4_Lb1EEE+0xa1)[0x7f7a50a2b5e1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x12d)[0x7f7a50a2b8dd]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c7066)[0x7f7a50b96066]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEPNS_13CXXRecordDeclENS_10QualifiersE+0x72c)[0x7f7a50b7619c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE+0x183)[0x7f7a50bb51f3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator18VisitCXXMethodDeclEPNS_13CXXMethodDeclEPNS_21TemplateParameterListEN4llvm8OptionalIPKNS_27ASTTemplateArgumentListInfoEEENS0_11RewriteKindE+0x3dc)[0x7f7a50bb1d0c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEPKNS4_INS0_15OriginalCallArgEEEbNS3_12function_refIFbvEEE+0xaa9)[0x7f7a50b1baa9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a0de0)[0x7f7a50b6fde0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x9cb)[0x7f7a50b1d2ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEb+0x12f)[0x7f7a50a2b2bf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22buildOverloadedCallSetEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprEN4llvm15MutableArrayRefIS4_EENS_14SourceLocationEPNS_20OverloadCandidateSetEPNS_12ActionResultIS4_Lb1EEE+0xa1)[0x7f7a50a2b5e1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x12d)[0x7f7a50a2b8dd]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c7066)[0x7f7a50b96066]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a6129)[0x7f7a50b75129]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEb+0x64)[0x7f7a50b74df4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator26InstantiateTypedefNameDeclEPNS_15TypedefNameDeclEb+0x6b)[0x7f7a50babcab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator18VisitTypeAliasDeclEPNS_13TypeAliasDeclE+0x11)[0x7f7a50bacda1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb+0x63b)[0x7f7a50b7a01b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x89e)[0x7f7a50b7bf9e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema26RequireCompleteDeclContextERNS_12CXXScopeSpecEPNS_11DeclContextE+0xe4)[0x7f7a5055fa04]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema33BuildQualifiedDeclarationNameExprERNS_12CXXScopeSpecERKNS_19DeclarationNameInfoEbPKNS_5ScopeEPPNS_14TypeSourceInfoE+0x65)[0x7f7a50783855]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c03ba)[0x7f7a50b8f3ba]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17bf324)[0x7f7a50b8e324]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17bde30)[0x7f7a50b8ce30]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17cae96)[0x7f7a50b99e96]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a6129)[0x7f7a50b75129]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19SubstBaseSpecifiersEPNS_13CXXRecordDeclES2_RKNS_30MultiLevelTemplateArgumentListE+0x273)[0x7f7a50b79623]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb+0x49b)[0x7f7a50b79e7b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x89e)[0x7f7a50b7bf9e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema18CheckBaseSpecifierEPNS_13CXXRecordDeclENS_11SourceRangeEbNS_15AccessSpecifierEPNS_14TypeSourceInfoENS_14SourceLocationE+0x365)[0x7f7a506d6d35]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19SubstBaseSpecifiersEPNS_13CXXRecordDeclES2_RKNS_30MultiLevelTemplateArgumentListE+0x43f)[0x7f7a50b797ef]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16InstantiateClassENS_14SourceLocationEPNS_13CXXRecordDeclES3_RKNS_30MultiLevelTemplateArgumentListENS_26TemplateSpecializationKindEb+0x49b)[0x7f7a50b79e7b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema38InstantiateClassTemplateSpecializationENS_14SourceLocationEPNS_31ClassTemplateSpecializationDeclENS_26TemplateSpecializationKindEb+0x89e)[0x7f7a50b7bf9e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1855cae)[0x7f7a50c24cae]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23RequireCompleteTypeImplENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindEPNS0_13TypeDiagnoserE+0x730)[0x7f7a50c18040]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19RequireCompleteTypeENS_14SourceLocationENS_8QualTypeENS0_16CompleteTypeKindERNS0_13TypeDiagnoserE+0x12)[0x7f7a50c177e2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema26RequireCompleteDeclContextERNS_12CXXScopeSpecEPNS_11DeclContextE+0xe4)[0x7f7a5055fa04]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema17CheckTypenameTypeENS_21ElaboratedTypeKeywordENS_14SourceLocationENS_22NestedNameSpecifierLocERKNS_14IdentifierInfoES2_b+0x90)[0x7f7a50aac270]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c5771)[0x7f7a50b94771]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a6129)[0x7f7a50b75129]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstTypeENS_8QualTypeERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameE+0x7b)[0x7f7a50b75a1b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema19CheckTemplateIdTypeENS_12TemplateNameENS_14SourceLocationERNS_24TemplateArgumentListInfoE+0x333)[0x7f7a50a96313]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17be5c9)[0x7f7a50b8d5c9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17cae96)[0x7f7a50b99e96]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema21SubstFunctionDeclTypeEPNS_14TypeSourceInfoERKNS_30MultiLevelTemplateArgumentListENS_14SourceLocationENS_15DeclarationNameEPNS_13CXXRecordDeclENS_10QualifiersE+0x523)[0x7f7a50b75f93]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17SubstFunctionTypeEPNS_12FunctionDeclERN4llvm15SmallVectorImplIPNS_11ParmVarDeclEEE+0x183)[0x7f7a50bb51f3]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang24TemplateDeclInstantiator17VisitFunctionDeclEPNS_12FunctionDeclEPNS_21TemplateParameterListENS0_11RewriteKindE+0x279)[0x7f7a50bb3599]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1816ae4)[0x7f7a50be5ae4]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstDeclEPNS_4DeclEPNS_11DeclContextERKNS_30MultiLevelTemplateArgumentListE+0xbe)[0x7f7a50bbb42e]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema31FinishTemplateArgumentDeductionEPNS_20FunctionTemplateDeclERN4llvm15SmallVectorImplINS_23DeducedTemplateArgumentEEEjRPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEPKNS4_INS0_15OriginalCallArgEEEbNS3_12function_refIFbvEEE+0xaa9)[0x7f7a50b1baa9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17a0de0)[0x7f7a50b6fde0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23DeduceTemplateArgumentsEPNS_20FunctionTemplateDeclEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERPNS_12FunctionDeclERNS_4sema21TemplateDeductionInfoEbNS5_12function_refIFbNS6_INS_8QualTypeEEEEEE+0x9cb)[0x7f7a50b1d2ab]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28AddTemplateOverloadCandidateEPNS_20FunctionTemplateDeclENS_14DeclAccessPairEPNS_24TemplateArgumentListInfoEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEbbbNS_8CallExpr11ADLCallKindENS_27OverloadCandidateParamOrderE+0x2b3)[0x7f7a50a1a823]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165c3e5)[0x7f7a50a2b3e5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27AddOverloadedCallCandidatesEPNS_20UnresolvedLookupExprEN4llvm8ArrayRefIPNS_4ExprEEERNS_20OverloadCandidateSetEb+0x12f)[0x7f7a50a2b2bf]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema22buildOverloadedCallSetEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprEN4llvm15MutableArrayRefIS4_EENS_14SourceLocationEPNS_20OverloadCandidateSetEPNS_12ActionResultIS4_Lb1EEE+0xa1)[0x7f7a50a2b5e1]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x12d)[0x7f7a50a2b8dd]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17aed57)[0x7f7a50b7dd57]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17d14b5)[0x7f7a50ba04b5]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17d172d)[0x7f7a50ba072d]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17d18aa)[0x7f7a50ba08aa]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE+0x4c)[0x7f7a50b7c92c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xd28)[0x7f7a50bbdca8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema27runWithSufficientStackSpaceENS_14SourceLocationEN4llvm12function_refIFvvEEE+0x3c)[0x7f7a504eabbc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema16DeduceReturnTypeEPNS_12FunctionDeclENS_14SourceLocationEb+0xe8)[0x7f7a50b20818]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema17DiagnoseUseOfDeclEPNS_9NamedDeclEN4llvm8ArrayRefINS_14SourceLocationEEEPKNS_17ObjCInterfaceDeclEbbPS7_+0x5d6)[0x7f7a50778476]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x165cad6)[0x7f7a50a2bad6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema23BuildOverloadedCallExprEPNS_5ScopeEPNS_4ExprEPNS_20UnresolvedLookupExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES7_S4_bb+0x21c)[0x7f7a50a2b9cc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13BuildCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_bb+0x4cc)[0x7f7a5077cc5c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema13ActOnCallExprEPNS_5ScopeEPNS_4ExprENS_14SourceLocationEN4llvm15MutableArrayRefIS4_EES5_S4_+0x47)[0x7f7a50793e47]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17b55b9)[0x7f7a50b845b9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17ad9b2)[0x7f7a50b7c9b2]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x17c553f)[0x7f7a50b9453f]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema9SubstStmtEPNS_4StmtERKNS_30MultiLevelTemplateArgumentListE+0x4c)[0x7f7a50b7c92c]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xd28)[0x7f7a50bbdca8]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xe4b)[0x7f7a50bbddcb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xe4b)[0x7f7a50bbddcb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema29InstantiateFunctionDefinitionENS_14SourceLocationEPNS_12FunctionDeclEbbb+0xe4b)[0x7f7a50bbddcb]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema28PerformPendingInstantiationsEb+0x289)[0x7f7a50bc00d9]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema33ActOnEndOfTranslationUnitFragmentENS0_14TUFragmentKindE+0x18b)[0x7f7a504ec60b]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang4Sema25ActOnEndOfTranslationUnitEv+0x161)[0x7f7a504ecc71]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6Parser17ParseTopLevelDeclERNS_9OpaquePtrINS_12DeclGroupRefEEEb+0x526)[0x7f7a4fe90c96]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang8ParseASTERNS_4SemaEbb+0x2fd)[0x7f7a4fdd38ed]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang13CodeGenAction13ExecuteActionEv+0xb1)[0x7f7a50f47b71]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang14FrontendAction7ExecuteEv+0x67)[0x7f7a518e3b57]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x336)[0x7f7a5183b3a6]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x29b)[0x7f7a5195d45b]
/usr/bin/clang++(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x99b)[0x41328b]
/usr/bin/clang++[0x4114bc]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x20eaed2)[0x7f7a514b9ed2]
/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm20CrashRecoveryContext9RunSafelyENS_12function_refIFvvEEE+0xdd)[0x7f7a49868b6d]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver10CC1Command7ExecuteEN4llvm8ArrayRefINS2_8OptionalINS2_9StringRefEEEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPb+0x140)[0x7f7a514b99c0]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation14ExecuteCommandERKNS0_7CommandERPS3_+0x3f3)[0x7f7a51484183]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation11ExecuteJobsERKNS0_7JobListERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x8a)[0x7f7a5148440a]
/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6driver6Driver18ExecuteCompilationERNS0_11CompilationERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x1a7)[0x7f7a5149e507]
/usr/bin/clang++(main+0x2816)[0x410f26]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f7a485cdd90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f7a485cde40]
/usr/bin/clang++(_start+0x25)[0x40e3b5]
clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Ubuntu clang version 14.0.0-1ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg:
********************

agozillon pushed a commit to agozillon/llvm-project that referenced this issue Feb 5, 2024
…Candidate (llvm#80395)

This is yet another one-line patch to fix crashes on constraint
substitution.

```cpp
template <class, class> struct formatter;

template <class, class> struct basic_format_context {};

template <typename CharType>
concept has_format_function = format(basic_format_context<CharType, CharType>());

template <typename ValueType, typename CharType>
  requires has_format_function<CharType>
struct formatter<ValueType, CharType> {
  template <typename OutputIt>
  CharType format(basic_format_context<OutputIt, CharType>);
};
```

In this case, we would build up a `RecoveryExpr` for a call within a
constraint expression due to the absence of viable functions. The
heuristic algorithm attempted to find such a function inside of a
ClassTemplatePartialSpecialization, from which we started to substitute
its requires-expression, and it succeeded with a FunctionTemplate such
that

1) It has only one parameter, which is dependent.
2) The only one parameter depends on two template parameters. They are,
in canonical form, `<template-parameter-1-0>` and
`<template-parameter-0-1>` respectively.

Before we emit an error, we still want to recover the most viable
functions. This goes downhill to deducing template parameters against
its arguments, where we would collect the argument type with the same
depth as the parameter type into a Deduced set. The size of the set is
presumed to be that of function template parameters, which is 1 in this
case. However, since we haven't yet properly set the template depth
before the dance, we'll end up putting the type for
`<template-parameter-0-1>` to the second position of Deduced set, which
is unfortunately an access violation!

The bug seems to appear since clang 12.0.

This fixes [the
case](llvm#58548 (comment)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" concepts C++20 concepts crash-on-valid
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

6 participants