Issue 52967
Summary ICE during template argument deduction
Labels new issue
Assignees
Reporter mordante
    The following code based on the last example in [[temp.deduct.general]/9](http://eel.is/c++draft/temp.deduct#general-9)
```
template <class T>
auto j(T t) -> decltype([](auto x) -> decltype(x.invalid) {}(t));
void j(...);                                                                    

void f() { j(0); }
```
This results in an ICE for a recent clang master build. The example was compiled using
`clang++14 -std=c++20 -c test.cpp`
And resulted in the following backtrace
```
.	Program arguments: clang++-14 -std=c++20 -c test.cpp
1.	<eof> parser at end of file
2.	test.cpp:5:6: LLVM IR generation of declaration 'f'
3.	test.cpp:5:6: Generating code for declaration 'f'
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):
/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamEi+0x23)[0x7f5c26c72b63]
/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x50)[0x7f5c26c70f40]
/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm3sys15CleanupOnSignalEm+0xdd)[0x7f5c26c722bd]
/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1(+0xb8ac26)[0x7f5c26bb0c26]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12730)[0x7f5c26017730]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction15EmitReturnBlockEv+0x84)[0x7f5c24778764]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction11EmitAnyExprEPKNS_4ExprENS0_12AggValueSlotEb+0x1f)[0x7f5c245f450f]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction15EmitIgnoredExprEPKNS_4ExprE+0x59)[0x7f5c245f44d9]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction8EmitStmtEPKNS_4StmtEN4llvm8ArrayRefIPKNS_4AttrEEE+0x185)[0x7f5c24726a45]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction28EmitCompoundStmtWithoutScopeERKNS_12CompoundStmtEbNS0_12AggValueSlotE+0x8c)[0x7f5c2473102c]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction16EmitFunctionBodyEPKNS_4StmtE+0x4b)[0x7f5c2477db9b]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen15CodeGenFunction12GenerateCodeENS_10GlobalDeclEPN4llvm8FunctionERKNS0_14CGFunctionInfoE+0x622)[0x7f5c2477e712]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen13CodeGenModule28EmitGlobalFunctionDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE+0x11c)[0x7f5c24797f9c]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen13CodeGenModule20EmitGlobalDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE+0x188)[0x7f5c247921b8]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang7CodeGen13CodeGenModule16EmitTopLevelDeclEPNS_4DeclE+0x6d9)[0x7f5c2479b129]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1a765af)[0x7f5c248155af]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x19d62df)[0x7f5c247752df]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang8ParseASTERNS_4SemaEbb+0x2e8)[0x7f5c237a4948]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang14FrontendAction7ExecuteEv+0x48)[0x7f5c24f37b78]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang16CompilerInstance13ExecuteActionERNS_14FrontendActionE+0x2b6)[0x7f5c24ec25b6]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang25ExecuteCompilerInvocationEPNS_16CompilerInstanceE+0x271)[0x7f5c24fa5061]
clang++-14(_Z8cc1_mainN4llvm8ArrayRefIPKcEES2_Pv+0x908)[0x413a58]
clang++-14[0x411b05]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(+0x1e48f02)[0x7f5c24be7f02]
/usr/lib/x86_64-linux-gnu/libLLVM-14.so.1(_ZN4llvm20CrashRecoveryContext9RunSafelyENS_12function_refIFvvEEE+0xdd)[0x7f5c26bb09bd]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver10CC1Command7ExecuteEN4llvm8ArrayRefINS2_8OptionalINS2_9StringRefEEEEEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPb+0x13a)[0x7f5c24be79da]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation14ExecuteCommandERKNS0_7CommandERPS3_+0x243)[0x7f5c24bbd0a3]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZNK5clang6driver11Compilation11ExecuteJobsERKNS0_7JobListERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0x77)[0x7f5c24bbd397]
/usr/lib/x86_64-linux-gnu/libclang-cpp.so.14(_ZN5clang6driver6Driver18ExecuteCompilationERNS0_11CompilationERN4llvm15SmallVectorImplISt4pairIiPKNS0_7CommandEEEE+0xdd)[0x7f5c24bd17cd]
clang++-14(main+0x239b)[0x4112eb]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb)[0x7f5c228df09b]
clang++-14(_start+0x2a)[0x40ec5a]
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to