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

    <tr>
        <th>Summary</th>
        <td>
            [18 regression] Assertion `!T->isDependentType() && "should not see dependent types here"' failed.
        </td>
    </tr>

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

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

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

<pre>
    Test case extracted from qtwebengine 6.7.0-beta2:

```
$ clang++ -std=c++20 testcase.cpp
clang-18: /home/bero/abf/llvm/BUILD/llvm-project-release-18.x/build/tools/clang/include/clang/AST/TypeNodes.inc:36: TypeInfo clang::ASTContext::getTypeInfoImpl(const Type *) const: Assertion `!T->isDependentType() && "should not see dependent types here"' failed.
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: /usr/bin/clang-18 -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name testcase.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/tmp -fcoverage-compilation-dir=/tmp -resource-dir /usr/lib64/clang/18 -internal-isystem /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/13.2.1/../../../../include/c++/13.2.1 -internal-isystem /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/13.2.1/../../../../include/c++/13.2.1/x86_64-openmandriva-linux-gnu -internal-isystem /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/13.2.1/../../../../include/c++/13.2.1/backward -internal-isystem /usr/lib64/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib64/gcc/x86_64-openmandriva-linux-gnu/13.2.1/../../../../x86_64-openmandriva-linux-gnu/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -std=c++20 -fdeprecated-macro -ferror-limit 19 -fgnuc-version=13.1.1 -fno-implicit-modules -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/testcase-1cf133.o -x c++ testcase.cpp
1.      <eof> parser at end of file
2.      Per-file LLVM IR generation
3.      testcase.cpp:6:6: Generating code for declaration 'construct_at'
 #0 0x00007f0d0238e916 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib64/libLLVM-18.so+0x458e916)
 #1 0x00007f0d0238d58a llvm::sys::RunSignalHandlers() (/usr/lib64/libLLVM-18.so+0x458d58a)
 #2 0x00007f0d0238e234 (/usr/lib64/libLLVM-18.so+0x458e234)
 #3 0x00007f0cfd855700 (/usr/lib64/libc.so.6+0x3d700)
 #4 0x00007f0cfd8a49cc (/usr/lib64/libc.so.6+0x8c9cc)
 #5 0x00007f0cfd855652 gsignal (/usr/lib64/libc.so.6+0x3d652)
 #6 0x00007f0cfd83e4ad abort (/usr/lib64/libc.so.6+0x264ad)
 #7 0x00007f0cfd83e3d5 (/usr/lib64/libc.so.6+0x263d5)
 #8 0x00007f0cfd84e042 (/usr/lib64/libc.so.6+0x36042)
 #9 0x00007f0d093767ce clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/usr/lib64/libclang-cpp.so.18+0x19767ce)
#10 0x00007f0d09376f31 clang::ASTContext::getTypeInfo(clang::Type const*) const (/usr/lib64/libclang-cpp.so.18+0x1976f31)
#11 0x00007f0d0a9e4f42 clang::CodeGen::CodeGenFunction::CreateIRTemp(clang::QualType, llvm::Twine const&) (/usr/lib64/libclang-cpp.so.18+0x2fe4f42)
#12 0x00007f0d0ac29ffe clang::CodeGen::CodeGenFunction::StartFunction(clang::GlobalDecl, clang::QualType, llvm::Function*, clang::CodeGen::CGFunctionInfo const&, clang::CodeGen::FunctionArgList const&, clang::SourceLocation, clang::SourceLocation) (/usr/lib64/libclang-cpp.so.18+0x3229ffe)
#13 0x00007f0d0ac2cc99 clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/usr/lib64/libclang-cpp.so.18+0x322cc99)
#14 0x00007f0d0ac770fe clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib64/libclang-cpp.so.18+0x32770fe)
#15 0x00007f0d0ac764ca clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/usr/lib64/libclang-cpp.so.18+0x32764ca)
#16 0x00007f0d0ac4483f clang::CodeGen::CodeGenModule::EmitDeferred() (/usr/lib64/libclang-cpp.so.18+0x324483f)
#17 0x00007f0d0ac4486b clang::CodeGen::CodeGenModule::EmitDeferred() (/usr/lib64/libclang-cpp.so.18+0x324486b)
#18 0x00007f0d0ac4486b clang::CodeGen::CodeGenModule::EmitDeferred() (/usr/lib64/libclang-cpp.so.18+0x324486b)
#19 0x00007f0d0ac417ab clang::CodeGen::CodeGenModule::Release() (/usr/lib64/libclang-cpp.so.18+0x32417ab)
#20 0x00007f0d0ad0b364 (/usr/lib64/libclang-cpp.so.18+0x330b364)
#21 0x00007f0d0ac18830 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/usr/lib64/libclang-cpp.so.18+0x3218830)
#22 0x00007f0d09245416 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib64/libclang-cpp.so.18+0x1845416)
#23 0x00007f0d0b77d34b clang::FrontendAction::Execute() (/usr/lib64/libclang-cpp.so.18+0x3d7d34b)
#24 0x00007f0d0b6e1799 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib64/libclang-cpp.so.18+0x3ce1799)
#25 0x00007f0d0b7fc71a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib64/libclang-cpp.so.18+0x3dfc71a)
#26 0x0000560e96d84096 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-18+0x17096)
#27 0x0000560e96d7fd4f (/usr/bin/clang-18+0x12d4f)
#28 0x0000560e96d7e61b clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang-18+0x1161b)
#29 0x0000560e96d8ef96 main (/usr/bin/clang-18+0x21f96)
#30 0x00007f0cfd83fc0a (/usr/lib64/libc.so.6+0x27c0a)
#31 0x00007f0cfd83fcc5 __libc_start_main (/usr/lib64/libc.so.6+0x27cc5)
#32 0x0000560e96d7bed1 _start (/usr/bin/clang-18+0xeed1)
```

Test case
```c++
struct BasicPersistent;
template <typename> BasicPersistent &&__declval(int);
template <typename _Tp> auto declval() -> decltype(__declval<_Tp>(0));
template <typename _Tp> _Tp forward;
template <typename _Tp, typename... _Args>
auto construct_at(_Tp *, _Args...) -> decltype(new _Tp(declval<_Args>()...)) {return 0;}
template <typename> struct allocator;
template <typename> struct allocator_traits;
template <typename _Tp> struct allocator_traits<allocator<_Tp>> {
  using pointer = _Tp *;
  template <typename _Up, typename... _Args>
  static void construct(_Up __p, _Args...) {
    construct_at(__p, forward<_Args>...);
 }
};
struct __alloc_traits : allocator_traits<allocator<BasicPersistent>> {
} push_back___x;
__alloc_traits::pointer _M_impl_0;
template <typename... _Args> void emplace_back(_Args...) {
 __alloc_traits::construct(_M_impl_0, forward<_Args>...);
}
struct SourceLocation {
  static SourceLocation Current(const char * = __builtin_FUNCTION());
};
struct BasicPersistent {
 BasicPersistent(BasicPersistent &&,
                  SourceLocation = SourceLocation::Current());
};
void CFXJSE_EngineAddObjectToUpArray() { emplace_back(push_back___x); }
```

[testcase.cpp.txt](https://github.com/llvm/llvm-project/files/14118017/testcase.cpp.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMWl2T2yiz_jXMDYVLQrJkX8yFxx7nnVPJvjmZyZ5zp0LQ8rArgQ6gifPvT4HkD5zJfKTe3dqpXcfCTfM83U3TgJi1cqcArtH8Bs03V2xwj9pc12B0K9Wwv6q1-H79ANZhzixg2DvDuAOBG6M7_H_uG9SgdlIBLmblLCE1OEZRtkLJBiWHzyKZ_hsfaY55y9QO0RtEbzCxTqBsw8dHmmAH1vnRZrzvxy5BnKQLlK0wottH3QGiW48S0S2rG0S3bfvUIbq9-Xr3cTM9kt7oP4A7YqAFZoGki9ne9xtkKxDdOq1bi-h2ArOVireDgLOW1f0DotuH7z38pgXYmVQcZaus8Dh8651q9MQlW6Fstbp_WGvlYO_G5x24g9hd17eILrhW1oW-GNEVokscWrzClbVgnNQKe1PR9IGg7FbaDfSgBKigCdGF74NogWiBEaX2UQ-twEo7bAGwOAhj970Hix_BAKIU0RI3TLYgZqNBP3-8Xd3fYjvUnXSY4XrYYQO9Ng47jR-d661nQLeIbnfSPQ71jOvuZOZz83rLWTuANyVmSuDJjtg9AuaG2UdcM_6nDxxAdI17A73RHKwFga0ezNjsezJrNZfMx5cZFLbcyN5NkO8d439iMXT9MbySGf5s9M6wDjOzGzpQzk4hMljjPS3VwZskXWDCeYqJM7JvAe8XRVXkpOckRDrZqQET6KQjuv4Dk85Ay_aEtS0mflAhDWYEEyEtq1sgjQHAhLfADGHWkRoabYB4pqAEJh2TijSyBaJYB1FMj8o1Z97ZpNMCWtxLjkkvOWnhCVpMxwdpSS8Bk64xrAPSa6kcGJRtAqymY-6RgDFKY9I0PeFahemJso1WmDRKE6MHJaTaES-LSReizQzcaUNYK5kFi0kzqG9SCeI8M4uyDcXEMbMDR3g_eEuRIsfEDQpCww4UGA9YQD3sdmD8T9JPgs1O1Jg0oZ1w3fWyHVkK6WH7Sdf1mDRcP4FhO3hBxsAYG7755NFW1kV-NkO9V4NRFGuJtN-tg-7S_7PZWccd54huJ-frHlTHlDDyiZ3CwKvNZnSWHvpefJzliTFnHTv8k7C8pvkfhtVPnG_MiJdg_ej8k9YX-2nO2reJ_jXMX-v8IzDY-y_8HOCbhEYWR9HLpdVPzd4A9ymWdIwbnznAGG1IK_1SkC4xaXZq4OQJjJVaoWyTZrPUx7bPJ7LrW8ml82lraEPy4Ps9gT2H3k9i3xA9cN1qQ4RkO6Wtk9y3MSGMlTtMNlX1Yb2u_rX6_bba_M_qy5ZW6-1dtbr_5IfFROMxG_jPKYGSlDdpls00Jns8EXumYkhnOPyhbA26Qdkt7pmxYDBz2Odn3WCfnEdhOgl_BhNSNv748fdP-O7LmOhCchoFs0kwGi9bFdP_-MMkr3aYawG40QYL4C0blWBEy2MCrphDtBz1YkSzBCf7JEmSsklEQrMFLNMCh-U2lBL2ux2_fDZSubAYPowr6uIkZNi3SltngHWhRFhjqdxYMCx-mEWtrD1PXxVZjehNss_nYVRElydY6QUsMV-w52B9GdS93CnW_osp0YKxx1LljSN7xdHI9NIgNMvfQYRmeaQuO6njjVjM52WS_Ewdn1k9K4KqTJRJEinKY0UsX3L-BkULvvSJ5EzR_BJRMad4Z4MV34SsmNNIYRErzCBnArPaV3Wvq6NFzkSkrrxUl4n5mxRlYh4pWsSKckhy-haCRZLHBJfnIbHMyqLk8M76-yQcivCx-j6rxH-KKxSRvO89Pr_w3CT7dBkQHCH66ZJcQmyy9I0Q_wp4TZZG8KLpzJaQNzk9h7fWAj6Aih62g-IhB46NBpiDuy8P4PPyOeL_Hlg7blLWZxni4ZvfHU5EihdSwnMUaBMQRhSivMA4XTYNvI_CvWPGHZsiDh9aXbN2A7z1LF4ld1KyupCPUXw4CI47xqMxft7l0GFldh-l334_3-c-1Mgfp83EKz--y_QZDZaNTJ9dmJ7z5fJ9pp9WSPA_vmT5_5yJ30vac4pI5zHpskxej7dPoToam2476UZyB4QbaKSSrwXfyQRj---sHWDKBe-iFBBHlOYXlIqcs1-j9HdT8UgjKkVMJc8XWfNeKhvwNTCIl0uW5xGFASNE5Q-IivpvRlTUEaLFPw7R8gJRWrJ3Ifoynuj9Ehg_1jkYGi3ZTCR1Vvy00HxWZxa6RDrjdZani0WWnBO8Gc-J1lrZoQMzNo6l84Nhyo5HIl-VdPG8OisffiG5BRgRzmgxXdJ8nqfFOc7PftcUjkHPUdxDx6a1qNa6Pf37LjzpIgwX4YlWmLosRZZHgbE1nr0Sq7M15XYPfHC_Egwi6I8ARNm-LiAtL5e4rpctmDtlHVMcIgirZyqKC8Tv9xoPGCKQ89hKDS_TKH9PcE5Yn441wOIlLu_PyCKMHYE7ZOR5kcCyEIs8WRaY87TqmFTRdnVlDPv-BRqUrfkjM6dqN7sNS33URtf4SUvxDMb4lHcMrTJZxoFVxqjKRuTNq1qoyKPcThcXWqBIp_A8sAsb7hF7gLq6qIa1bqcJ_NMa5TkkaZHGcbq8sDI0ywJ7DK-pomkTm-b85CHs8xqesLfs80qeRJ4_PyuYFPE5rirfrbK-5q5-APhT1XweqaYXhq9BpHhU-hphAHG2B7q4iwqfx_utC5nDMWVoHU9t8A2zkn8GY6V1oBzKpp8ddH3LHGCUrd33HhTrAGW3l_LT1U1VCeDtE2sPEbN8URGuHnqvjA1O41NPHzjEt_smN14PnTRn67EXoouQ8984RvXQ40abb8yI1-XpGh-eZ7MZrlZmZ_2QoVdAG593Lbz2aVIE4dls9hwLBd9G_YszNgflgfjYMUyd8saAG4zCiQdcbl52yORH1oYbGG1e9eBlh8oZJp19kzF_2nd9Nv7BT9mt5zKdduDBSrXD05UPRtkGH2yXHWWeH_rrK37B2DrmJA_59OQg752vPa6q_tI7Z6jwDw4dxY8Rc3TT5KAj2KNj_JcsnlRVFcwxWQejbPWayX6YhrH5ULnB_WAfq5rxP6uq2h9HjIcak_LByNWnSnZ9WyUv-vbcoKMJgxCHMJg3ybOme27gyPbHwd9izqM1JwvGW_1zj02-vhBYD8Z4ux1upMNai-hqDLSqHmTrpKq2X39bP9z9-7dxzl0CyF5MjWcgLr1FF8-nRUTXp0CL_y4JZpuLpqmkOfJ6AW9w2nr7v_91f1vdhrcXVkL8u_4DuHvQX_tQlhyqyfLm0r1xXIUhzoL7ufUFzW_Obwxmbu_QfIPo4t0X7Y1swz17mqfpIknLs4uRo-bDUnclrjOxzJbsCq7TMinKPMnz5dXjdcby5TIpUyh9dqWZyMUc5imf84ZCwtiVvKYJzZM0SynN8mQ5EwnQJqnzNOG0oYVAeQIdk-3Mw5tps7sKbwBcLxKaJlctq6G14ZUSSn0mDz8iStF8c2WuA6V62FmUJ620zp60OOna8C5KusAGdgZsuIKab_6mlyOuBtNe__rbD4H-_wcAAP__HQukig">