<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/137014>137014</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
ICE in getLambdaCallOperatorHelper
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jeremy-rifkin
</td>
</tr>
</table>
<pre>
The following reduced code ICEs clang 20.1.
```cpp
template < template < typename> typename> struct TypeTList;
template < typename >
constexpr auto LambdaThing = []< template < typename> typename... Args >( TypeTList< Args... > ) {};
template < template < typename > typename TheThingT, typename TheParam >
struct TraitApplier {
template < typename >
using X = TheThingT< TheParam >;
};
template < typename Traits >
concept FooTraitsConcept = requires {
LambdaThing< typename Traits::FooTypes >;
};
template < FooTraitsConcept >
class Foo;
struct FooTraits {
using FooTypes = int;
};
void foo() {
TraitApplier< Foo, FooTraits> x;
}
```
```
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-20.1.0/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-14.2.0 -fcolor-diagnostics -fno-crash-diagnostics -std=c++23 <source>
1. <source>:19:36: current parser token ';'
2. <source>:18:12: parsing function body 'foo'
3. <source>:18:12: in compound statement ('{}')
4. <source>:5:8: instantiating class definition 'TraitApplier<Foo, FooTraits>'
#0 0x0000000003a59568 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-20.1.0/bin/clang+++0x3a59568)
#1 0x0000000003a576ac llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-20.1.0/bin/clang+++0x3a576ac)
#2 0x00000000039a69e8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007235a6442520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x0000000007375203 getLambdaCallOperatorHelper(clang::CXXRecordDecl const&) (.part.0) DeclCXX.cpp:0:0
#5 0x00000000073760db clang::CXXRecordDecl::getLambdaCallOperator() const (/opt/compiler-explorer/clang-20.1.0/bin/clang+++0x73760db)
......
```
https://godbolt.org/z/qnGbPzTKv
This appears to be a clang 20.x regression.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysls1u2zgQx5-Gvgwk0JQtyQcfFDveFlugwcaH3AqKGstsaFIlqcTu0y9IKY2dOt3Fbg3nQ_yY-fE_Mxxx52SrEZdkfkPm6wnv_d7Y5Ve0eDglVu4epZ7Upjktt3uEnVHKPEvdgsWmF9iAMA3Cx9WtA6G4boHRdJoSWoVvToev6DpCK4-HTnGPQLIVXD6cOtT8gCS7vfjfedsLD9tTh9tP0nmS3fxkZ1wOJLsltBJGO4_HzgLvvYFP_FA3fLsPwCRbw3DGf-U_TVOobOuiYVaeQ6ziRFgQNhC2AFLckGJ9De891teH7R4j4Jaw1cXoHbf8MJ7rRQnLpa-6Tkm00SmtAOB9L-N874IAD1GCV3fZ6tJLpH_nGD-wAoB7FVtg52FjzDC-GgeCH4vfemnRvWCeheKKRZJVJKuCoVOH7p9wrjiMPIo7FyaHLaNmPxafCTYIcuZuDVL7Ny6fjGxgZwxh5UuMh93nURhxQux-OArhPb4aOyuEN3VBaHX36ba6vwXX1wfpgUPdh9LqjPXgDey976I2bEPYppV-39epMAfCNko9vfxJOmu-ovCEbaRzPTrCNsB1A1IL1TcIfo8gLHd7qLl49JYLDMCdxc4agc5hA870dhgOO7lzRkjusQHba3DCys6Hsr73XDxC0x-6gEUrmhK6uLOmDVnEbdsfUMdwAmEb0wUmYQ6dVGgTPHbKWLRhLNwVSbwrKGGbWuqXQcJuCLuBpG2eud0lM0haSEywxrsu2Ox91_vUQXIIZ4ckOZZ5wt0hcSft-ZFka6k9Kkh22iRPaGvjMMxDcg9J0gqReGOU2HOpSbb-JWVYPJ2lLKWQ7IRRxiaN5K02zkvhBg9R18th5xuSrcVwEpaFlB3VjWkarsfFxVhWTRckq7I86CZ6a1F76Lh1aMGbR9RAWBESihWEVuza_jL8YmF_2Beye9dr4aXREC7vYCCmcjCQ_dqA1BDEML1uwHnuMYQUYhUU40XHCsIWhFazK5bmJKvKwY7zXHvJfcAZirPBndQyYhFWvCmkK3U0AAMQllGgR_ryyfh8Mc9LiFUQ7w53Gi-ROyu1j2m6HRK9fF1k-fMX47xFfiAsD85C2YfiDqf7H_lK2A09jlCDNJF5-oa5yLm4xrxSyHXffdb3stVcEVb2OrblBpQJPn4fYUA4I2QXhAueL7CEVcjpv1CYJ7SnAekD140KjspRsYs1K6M9Hn0aGn1W0fgzOshGBwXL5jyfzdic0fEwStaEbY5l_iWfJUrq_pi0uh8mROpMmkfouOUMeXaOXGTFnNEMWvRDh1lxpT53aLk39gOqLjIPOgxSPzwEatusUSiI7wsxFaLCacetD_otIEyvHh6uHWn-BiCnTQ3vuRiGruKNjSUy_J74jjCDWGn8_Nx-3jQV09RG-dTYlrDNd8I23_Qf9d337Z9Pw_LtXjrgXYfcutCTagT--q53BIutReek0S-vfbSaNMusWWQLPsHltJjNQwgLNtkvxSxnpSjLsskX9ZyW03xWlLwokNHpYspwIpeMsjmdsWyas-mUpSHAmOd1SXdskYmazCgeuFRpKKNAPYk9bznNCjqdTRSvUbn4MsuYxmeIs4Sx8G5rl7Fd1n3ryIwq6bx7NeOlV7j8uLoNF-Av0mnSW7X874155Hxasr8DAAD__5dMg3o">