<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/61142>61142</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Assertion hit: "consteval function should never be emitted"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          danakj
      </td>
    </tr>
</table>

<pre>
    The failure happens due to a user defined string literal with a data template parameter class that has a consteval constructor.

https://github.com/chromium/subspace/blob/496b8b245ad711e5155bc21e32c9f31fd8304f1b/subspace/ops/range_literals.h#L39

```
% cmake --build out && ctest --test-dir out --output-on-failure -j 64 -R 
[27/82] Building CXX object subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o
FAILED: subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o 
/home/danakj/s/c/src/third_party/llvm-build/Release+Asserts/bin/clang++ -I/home/danakj/s/subspace -I/home/danakj/s/subspace/third_party/googletest -isystem /home/danakj/s/subspace/third_party/googletest/googletest/include -isystem /home/danakj/s/subspace/third_party/googletest/googletest -isystem /usr/include/c++/12 -isystem /usr/include/x86_64-linux-gnu/c++/12 -isystem /usr/include/c++/12/backward -isystem /home/danakj/s/c/src/third_party/llvm-build/Release+Asserts/lib/clang/17/include -isystem /usr/local/include -isystem /usr/include/x86_64-linux-gnu -isystem /usr/include -g -fno-rtti -Werror -std=gnu++20 -MD -MT subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o -MF subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o.d -o subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o -c /home/danakj/s/subspace/subspace/ops/range_unittest.cc
clang++: /home/danakj/s/c/src/third_party/llvm/clang/lib/CodeGen/CodeGenModule.cpp:4189: llvm::Constant *clang::CodeGen::CodeGenModule::GetAddrOfFunction(GlobalDecl, llvm::Type *, bool, bool, ForDefinition_t): Assertion `!cast<FunctionDecl>(GD.getDecl())->isConsteval() && "consteval function should never be emitted"' failed.
PLEASE submit a bug report to https://crbug.com in the Tools>LLVM component, run tools/clang/scripts/process_crashreports.py (only if inside Google) to upload crash related files, and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /home/danakj/s/c/src/third_party/llvm-build/Release+Asserts/bin/clang++ -I/home/danakj/s/subspace -I/home/danakj/s/subspace/third_party/googletest -isystem /home/danakj/s/subspace/third_party/googletest/googletest/include -isystem /home/danakj/s/subspace/third_party/googletest/googletest -isystem /usr/include/c++/12 -isystem /usr/include/x86_64-linux-gnu/c++/12 -isystem /usr/include/c++/12/backward -isystem /home/danakj/s/c/src/third_party/llvm-build/Release+Asserts/lib/clang/17/include -isystem /usr/local/include -isystem /usr/include/x86_64-linux-gnu -isystem /usr/include -g -fno-rtti -Werror -std=gnu++20 -MD -MT subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o -MF subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o.d -o subspace/CMakeFiles/subspace_unittests.dir/ops/range_unittest.cc.o -c /home/danakj/s/subspace/subspace/ops/range_unittest.cc
1.      <eof> parser at end of file
2.      Per-file LLVM IR generation
3.      /home/danakj/s/subspace/subspace/option/option.h:341:15: Generating code for declaration 'sus::option::Option<sus::num::usize>::unwrap'
#0 0x000055ed161587d7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/danakj/s/c/src/third_party/llvm-build/Release+Asserts/bin/clang+++0x490f7d7)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 17.0.0 (https://chromium.googlesource.com/external/github.com/llvm/llvm-project 6e30dffe71cbcc22ba84b31b056c58f6d588c897)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/danakj/s/c/src/third_party/llvm-build/Release+Asserts/bin
clang++: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/range_unittest-763415.cpp
clang++: note: diagnostic msg: /tmp/range_unittest-763415.sh
clang++: note: diagnostic msg: 

********************
```

[range_unittest-763415.zip](https://github.com/llvm/llvm-project/files/10877663/range_unittest-763415.zip)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWN1yo7gSfhr5pgsXCIPxhS8c22RTlZxMzfic3buUkBrQBCRKEvnZpz8lwImTmezsZLN3U3EFoZ-vW61Wf90wa2WlENckOSPJbsZ6V2uzFkyx26-zQovH9aFGKJlseoNQs65DZUH0CE4Dg96iAYGlVCjAOiNVBY10aFgD99LVwEAwx8Bh2zXMIXTMsBYdGuANsxZczRzUzAIDrpV1eMeasWV67rSZk3BHws34v3ausyTeEJoTmlfS1X0x57olNOe10a3sfdP2he0YR0LzotEFoflilRZZQRcJE8sowiRKkoLTCGPKV2UclSKLw0UZFS8X684SmhumKryZ9mTnNaHxZbw61Yqk4fQbX2kCvGW3CEFQ9LIRoHsHhKaEpsAdWgdB4B-BkGYYCwLdu653gVbB0dLBV0gXEHyGCTQ5o0tC84ySZAdnHtabevvHH6CLr8gdnCi-vWK3mMsG7cmGbnolnRdr50KaV9s7js05n-tRYr65uNzvSLz5QOTjZmhe69bjjX7msfwR-qfx_10tjbjpmHGPhOZNc9eOliQ0_4wNMouEnm2sReP8wkIqv7xhqiL0jNAzCC7ekHHU-cczvlGj0rpqcDw_aR-twxbej_H6RSre9AI_HPoFYG_Ns6jR4mfDL4_oX058yNKbdBE0UvUPQaX6n1l7OtEfFuO398yIH-703e7QyOLZHfJo-YZ1Rz0bzVnzlzPetsLbkyGoICiVDoxzEoLf0RhtILBOkHg32M-bhIYQXO0guDp85B0LrvIPhJsLCPSHqsf_hmu_EYVPkMZIcnLnfaR6hyedeMroN1st8BzVc-tKi77BOe86Em8WUbbykoal8YbEm63nKqZ8hJ_UmbpHmNOXEWnsOke3EcJcl3mvuJNaEZqdN7pgzQ55Q-j2RMThsUMP73sLrZvTZ67NztOv9Bg3jtBBvfEySK3A0xKNOLOOxNujrEFEvPcid_MK3Sgy84vpKiDxXtrtkYzH_iN_EUqfabqc4MDWum8EKLxDAwUCtv6cBKGU0OWQPKCYiPzT5X7zZe8dqpUOGBR9BQY7bZxPKF4SPDdFX3l-B6nA1QgHrRtL4v3l5f-ugOu20wqV82YwvQI3jD6fp-VGdkNE6IzmaO0NN8zWozQ77x6B0Eyr5hFkCVJZKRDOh8DpN-w09F2jmYBhFRj0-YuAcnT9LTAl4HjdvXLjNB_enBlcdwudwUm0z450b8Zuv5JZq7kcEL3uo66Tjb44xm9B9K33uLErnJNw9cnoyrAWmKn6FpWz7_T5X2T6i0x_kekvMn1FppGPMSTeoi5JvPeVmi_umANUAnQ5RL5xJh2iEZrAd8EQjS8-Q4UKDRu4bJgVD3g_p97IhFNjXpN4Ey8iEm-ixMe680mCqoBrgVBqX3zyho1igdCl7e1ImhPW0L6e2tunUdVP3Npb-Sd6Lhzf1L1hHaHLY6EShxA-hGEYJgmKKI2SbCmWJ9RsHyfAT0YqNwTuwxj9s-dJht3faOsMsnag0S1Iz1qeVLN_PXwTehY-LFZhuRRLT_Dfy5uGG-UbQz-URivnD53rtvVkNTL4WNDjg3Sj9aN44XfQW4TgzvOlRQSp7jQfneCFMLhDY_0ZRct5OA_9wldkPxXw8zHcjmw5Fff44NCoIbS8KPqnBG4wSmf0UAenGIeiLHEZ8YJzSguWLYo4KsIk5UlWpiLJMp6tnm1xYKZC53c_haRe3Sp9r04C9DivNsgEtFpg42d32sqHcejCp4BNg2Inzb_Fyd87N6WdTydBSFYpbZ3k0Npq0GDy33_wO_nCMSVtm8Nhs_0NDr_tIb--vLz-_eI_55BfXO6_wOF66D777zl83n-6_nx4ylw-fS8Hyqx3_zfzoKcJBsFzih9l7gny71uB5q7tvol4wTKNF1EypPQfCmjr9x3TRx3Wqw9Rxy9H31f2T9mRZPfNPfzRBSM0n1LgPAqz5TJN4zft4UUcr9lMrGOxildshusoXS6zKKLpYlavkzJecR6JIgt5HBVpiCFisiqSIitLTNOZXNOQxqH_o4soXMzLlFGeFEKEPKVJIcgixJbJZu71nGtTzaS1Pa7TKFrQWcMKbOzwgZNShfcwDPraJNnNzHq6fJUli7CRnnSfUJx0Da6fa6lautEJfq4GmvWmWf-0kQctvZWHXfw_AAD__7ItATk">