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

    <tr>
        <th>Summary</th>
        <td>
            Clang++ Fails if templated typename is too long
        </td>
    </tr>

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

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

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

<pre>
    clang++ -Wall -std=c++17 -stdlib=libc++ -Iinclude -Ieigen -I/usr/lib/matlab/extern/include --cuda-gpu-arch=sm_86 -Xclang -fcuda-allow-variadic-functions -I/opt/cuda/include -L/opt/cuda/lib64 -lcuda -lcudart -ldl -lrt -lpthread -o build/fk_solver_test test/fk_solver_test.cu
clang-13: warning: Unknown CUDA version. cuda.h: CUDA_VERSION=11070. Assuming the latest supported version 10.1 [-Wunknown-cuda-version]
test/fk_solver_test.cu:12:64: error: expected ';' after expression
      false, IsometryMatrixMap<Scalar>, IsometryMatrix<Scalar>>
                                                               ^
                                                               ;
test/fk_solver_test.cu:15:64: error: expected ';' after expression
      false, IsometryMatrix<Scalar>, IsometryMatrixMap<Scalar>>
                                                               ^
                                                               ;
test/fk_solver_test.cu:17:3: error: use of undeclared identifier 'copycat'
  copycat.evaluateTo(pose[context.lane], systemPose[context.lane]);
  ^
test/fk_solver_test.cu:20:3: error: use of undeclared identifier 'reverseCopycat'
  reverseCopycat.evaluateTo(poseResult[context.lane], pose[context.lane]);
  ^
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /usr/bin/clang-13 -cc1 -triple nvptx64-nvidia-cuda -aux-triple x86_64-pc-linux-gnu -S -disable-free -disable-llvm-verifier -discard-value-names -main-file-name fk_solver_test.cu -mrelocation-model static -mframe-pointer=all -fno-rounding-math -fno-verbose-asm -no-integrated-as -aux-target-cpu x86-64 -fcuda-is-device -mlink-builtin-bitcode /opt/cuda/nvvm/libdevice/libdevice.10.bc -target-feature +ptx72 -target-sdk-version=11.2 -target-cpu sm_86 -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fno-dwarf-directory-asm -resource-dir /usr/lib/clang/13.0.1 -internal-isystem /usr/lib/clang/13.0.1/include/cuda_wrappers -internal-isystem /opt/cuda/include -include __clang_cuda_runtime_wrapper.h -I include -I eigen -I /usr/lib/matlab/extern/include -I /opt/cuda/include -internal-isystem /usr/bin/../include/c++/v1 -internal-isystem /usr/bin/../include/c++/v1 -internal-isystem /usr/lib/clang/13.0.1/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.1.0/../../../../x86_64-pc-linux-gnu/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /usr/lib/clang/13.0.1/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.1.0/../../../../x86_64-pc-linux-gnu/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wall -std=c++17 -fdeprecated-macro -fno-autolink -fdebug-compilation-dir=/home/bhqin/Documents/ROAHM/cuEigen -ferror-limit 19 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fcolor-diagnostics -fcuda-allow-variadic-functions -cuid=e64c8ea98e8326dc -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/fk_solver_test-b4c8fb.s -x cuda test/fk_solver_test.cu
1.      <eof> parser at end of file
2.      test/fk_solver_test.cu:26:8: instantiating function definition 'FKVerifier<double, 7>::launchGPU'
3.      test/fk_solver_test.cu:6:1: instantiating function definition 'solve_fk<double, 7UL>'
 #0 0x00007f1b69545fda (/usr/lib/libLLVM-13.so+0xb97fda)
 #1 0x00007f1b6954365f llvm::sys::RunSignalHandlers() (/usr/lib/libLLVM-13.so+0xb9565f)
 #2 0x00007f1b695437ad (/usr/lib/libLLVM-13.so+0xb957ad)
 #3 0x00007f1b685a98e0 (/usr/lib/libc.so.6+0x3e8e0)
 #4 0x00007f1b7086e272 clang::Sema::SubstituteExplicitTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, llvm::SmallVectorImpl<clang::QualType>&, clang::QualType*, clang::sema::TemplateDeductionInfo&) (/usr/lib/libclang-cpp.so.13+0x15e6272)
 #5 0x00007f1b7086ec65 (/usr/lib/libclang-cpp.so.13+0x15e6c65)
 #6 0x00007f1b703292a0 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/libclang-cpp.so.13+0x10a12a0)
 #7 0x00007f1b7087a826 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool) (/usr/lib/libclang-cpp.so.13+0x15f2826)
 #8 0x00007f1b707acf23 (/usr/lib/libclang-cpp.so.13+0x1524f23)
 #9 0x00007f1b707ad746 clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(clang::ActionResult<clang::Expr*, true>&, bool, bool, clang::SourceRange, clang::QualType, unsigned int) (/usr/lib/libclang-cpp.so.13+0x1525746)
#10 0x00007f1b705b01a5 clang::Sema::CheckPlaceholderExpr(clang::Expr*) (/usr/lib/libclang-cpp.so.13+0x13281a5)
#11 0x00007f1b70640b0f clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool, bool) (/usr/lib/libclang-cpp.so.13+0x13b8b0f)
#12 0x00007f1b7079e72b clang::Sema::ActOnExprStmt(clang::ActionResult<clang::Expr*, true>, bool) (/usr/lib/libclang-cpp.so.13+0x151672b)
#13 0x00007f1b708c6329 (/usr/lib/libclang-cpp.so.13+0x163e329)
#14 0x00007f1b708e351d clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/libclang-cpp.so.13+0x165b51d)
#15 0x00007f1b708ed812 clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/libclang-cpp.so.13+0x1665812)
#16 0x00007f1b708e363a clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/libclang-cpp.so.13+0x165b63a)
#17 0x00007f1b708ed812 clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/libclang-cpp.so.13+0x1665812)
#18 0x00007f1b7034df68 (/usr/lib/libclang-cpp.so.13+0x10c5f68)
#19 0x00007f1b703585cd clang::Sema::ActOnEndOfTranslationUnit() (/usr/lib/libclang-cpp.so.13+0x10d05cd)
#20 0x00007f1b6fd2b75e clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) (/usr/lib/libclang-cpp.so.13+0xaa375e)
#21 0x00007f1b6fc76139 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/libclang-cpp.so.13+0x9ee139)
#22 0x00007f1b711fff79 clang::FrontendAction::Execute() (/usr/lib/libclang-cpp.so.13+0x1f77f79)
#23 0x00007f1b711a62cf clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/libclang-cpp.so.13+0x1f1e2cf)
#24 0x00007f1b7124b5f0 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/libclang-cpp.so.13+0x1fc35f0)
#25 0x0000560a225b584c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-13+0x1684c)
#26 0x0000560a225b7c2d (/usr/bin/clang-13+0x18c2d)
#27 0x0000560a225ac185 main (/usr/bin/clang-13+0xd185)
#28 0x00007f1b68594290 (/usr/lib/libc.so.6+0x29290)
#29 0x00007f1b6859434a __libc_start_main (/usr/lib/libc.so.6+0x2934a)
#30 0x0000560a225ae485 _start (/usr/bin/clang-13+0xf485)
clang-13: error: unable to execute command: Segmentation fault (core dumped)
clang-13: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 13.0.1
Target: x86_64-pc-linux-gnu
Thread model: posix

[fk_solver_test-704749.cu.txt](https://github.com/llvm/llvm-project/files/8865775/fk_solver_test-704749.cu.txt)
[fk_solver_test-7cd6e1.cu.txt](https://github.com/llvm/llvm-project/files/8865784/fk_solver_test-7cd6e1.cu.txt)
[fk_solver_test-e94d89.cu.txt](https://github.com/llvm/llvm-project/files/8865765/fk_solver_test-e94d89.cu.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWltz4jgW_jXkRWXKF3zhIQ-EhJnUprczId29b5Qsy-CNsT2yTJP99ftJNhc5hDQ9M1U7VZtKGaPLp-9cdM6RTVwmr9csp8Vy4N7gn1jfaJ4Tq5bJwLtlbaMT6oY8i9GGK9uNvc8KljcJxx3PlrzA58CdNbXAVY12Z2sqc6pu-FZyUeBmP8ViTUKtZdVYVLAVkOv1IgqI9S9Nh1ip7geb8ru1oSKjScastCmYzMqibpcqK4mrGniM_NDvAZdgRKxcfe0-hMRNAklzfVfJleA0IVZJ4ibLE0xKXxZ1mW-4WEheS6Iub1qHrBnYtwN7ojlbjjfwJuQ7FUUGheL2S_FSlN8LMv1yOyGYVIP6kKj1hyvVr9oXX--e5vef_wkNOI4d2kMyqetmDQQiV5zkVC9fN1VVCsmTHQxx7KFDBv6N9a1pV2kV2nUP_NuW2bu8vYnj4hKMFBEuRCn0zbbiTC0zcMOBBzOHhKYwneoQvNbQGpfov5TmNR-4U3Jfl2suxesnKkW2_USrgTedM5pToN69HWD04v8I8qf_Bv6fhAOxP1Sd_1ep7rze-or9O6oOypl4huaampMyJU2RcGwkARVmCS9klmbQHvTIyuqVUan02rHsWoZ8Q_MGO-S5HLhRVUKh_g0rC4lwM8SW5GobQIn1ay35-vGd_vGe9pEmzkjg2hdLILjal3z6RhCz4608T7xucnlaqvfkPSnP48PdZH6HOBKvM0kowtwSi6uYQmRJVlJWNQSBxPhHXz3M8816WAokhhmhBQTqwqsKSkzQekViyl6koEx7MVy8EiWDn0P4umxE26xm0rouWUbV1hBNQWomskoOW1pzCRCSNOtKra6bbHSNH0W5FHRNqFg2a2hSkSP75BJnKpXsgi6xGHOIhf1R5ZwUm0pug5FVbLIko1Yb82mz3fVvo2CB7opZeVageVk0xJoTK8lqGufcSgXnh29KCyqmtpZUzYyKxFJm4lZB1xyZaE2zwkqzvG0gb1wGIwTPS9gXIcBalwnPSS3xjaEnhZTcqsoMRoQr3er0mxalJUp4E7IA4OWqbQJmDJtbtF4TC9_VHGgJikVTJyQUxqXFqkYJaqm01ybSrLYSvskYZFtD8BdL5TkJ4nEmGSiRftIsNpt1mzvbecf3QySfGOy71VJOZSMUxA10H7r7jjp52Sckld6Ghy7FsMv4a6VkZT_AWLWKbdoO2RZy6R0G6awuq8IEHO655MKSTZtmb5dJ3OonwaAUNhKIw6V4bfWE0Ku9UbWTXnnSVT4zxxuqbKoVKgqaQ1s6Ypwff6g5Oq0tvgtaVZD3NNLpamV3s1ho9IUGwj6R2ZrvAIdwgHtyqLbIrtzqEzxTb92fo_Ce2O1GGw5NUdv6D3ebszr7Q5PPK_zsTOy0_GLxdI2IzyUDw9mJIKFYuENnaO9m9C6np7wl0VqGHZP5oUEt4x-R__-aO6u5d044aYIExpmOpmvKRNnGFNrIUsVLPQCRx2LlusryNpYjpAAE4CsUaUorq9-1Xm5L1mUtd_b0efLrJ73p7tpNm7YxLc9UInbGaIDA7ChOjoauCkYp224hDuNVd-JJjS-szIGCFLcsyhq5pP74yMSaTAnNgxGLOB1HPPLcIEEcv10sfplOF79Ovt4tbr9NnmbuYjq7X0zmn1TYVqciCCCRo_sFkRUDKo2HAN_qc80H5yRH5XZUsLxMUbuSiqL2EYRKwlEnoIBSWbQd6aqR54qwAJdIVQVZgWSKcAmTID_sxCUJT7Mi07eot2b_-NolcayelA0yjCpPQl1ET_CfU0xc_fL4ZV-ceR8wUAScHyagpy_SF3P5Lw-6zN-VgwPXs4m9tfEXpk4cjP2Rn0KpKAZ72xvXh4evn1D9DGvUijf2Nh6HqQrr4wOW08PyAj8lKtm2ImOHtDdPTTHPltg9v6Jcy-GHer3xDy7rA9VY1u0vG9LkR7Ew1MDyjrEiXzmtfRqLAWUYaByPY5QBMzqCCe0o4C6qlDZEag3M-Zp2d02M3SQbye-2VZ6xTD7zdaVO4ZN9KepGR1Nnnb13w25xAhi4E2Xeo1F9kIeslvdFCrkDNfJglPka-_erLmDuMQXucoRyy5OG8aQPpn3oEpzfGpo_v1b8MPFU5xsh6r2WDsKCkJJ-L8s7XtPW6qyqlJUcT5vJ8XkAOxiG8vuGYoF_GSImGIiBgei5Y5fap02PoutbJlfzJk1hd-hVH07mlT7hHJt8rgvKh66iN_W-2_4LwRHippsy63x_rJV9iXps6oCrIUxoqiekkRucFqZ1lb_Yd_sjD65jNO-W2cP3Xe5HHGtK4rLML3Sw1I20Ux40GBkaDClLXe8SRHeECQbiuIeYhKN3bILDvMoCkyKZZds5kkXO-xaYVxxH5Tz7T-dax9aa6JHdEwFjPyNUic4aUjRH27pV2eHzjRM_4XvfXMdWbIoamUE9z0CYuUz3rg9F7DWl0pFtaMqPbYf6pzU1XXH28phj563KPOGiFTA6JfIlnDw3wpIGJ8fgFIzs2E5Pc4L6PxcoI7N6NWvy_AylE3o-DhamUS7iH0egZ_B3Te8b89CNz_BXHOdyLf-IZ_3UTnQCEDOYe2YsY4F3EWLgcUwwEHtZnnu-k5zWxf2-ZOOH4LQr1z4K9uci29std7muAj8GcUOyXlrkSeS8U788cpGWYv3I9cOjg5zqBAAKP8Em8LGYwSbo6znw6N9TzyBuSBb-T-nZzFXeKEmD6JL6gfmYYCCaucrzI5-9s0PaaFEkn9NnQYu6PfB-geHOnQ1O00hsrHJMwzUOOWnixqHPj2k86nPh0f1zWT3wDc9b-x-7zeeK_t7wRyn6lTLLfxFlUz2pMuzuZysISj1QM7gbh6qUhYGDCqDPfTJ_7nm3UuypnHwBmTHnWMsgY0R_x0nTNDTIzIR6OVAkbYDfhXTOcLy52I5pGALdWN4zl6eBy4zkOdXPSrhotwfK6GMCHSezIDX5XnqgSB0OBgZFIyc47ij2U6P878gcmG72ESg6J8mlpUfKPKxsUNsFdT-wqesi6EcjRhhzFuqFApAPh4qJEPRVe_KUraggDEFGKgptOjbb0KBOHScYmq9NurCDRQ1WQY9VyNzkQ5QIgwyU0EShzIl8ouT6CCrBQAMpMp8AjEfu-OMnADjljU1lj_sw3oiSxUJNW8CkQi7esDsNjHnHwPsHNjtJ-QiStpAfyZqOjmQ9_gnB4b1iod6FqDd0vPVTmHm9pkWiOud8qY5j2ltJSlG7qQVZKbh-ocaT89jt7yzSbsftgAEEP0-AoJet9XMhhatecVob3cY5jgOHfXK8yOHnCe1zZ93zrF_5qDVPPepth7S_v9Avx9TAqqyzbafk9urf9B49hvYoHI2HrBnKrdQvPiPzNeYSh_kmHkIwZcZ8s_uwKlH-mzP9XA-yqoe0URT4Yei_fb5pLrK3-1syLAm48yeSiUYnyBiLvE-Gj0dJ9GdqJjihGXORHZmr5NpLxt6YXslM5vx6evTbohk8qyZZSmR32E2IxDFTvzTNanhWSfKyWF41Ir--mG9W140m7Ptj37laXXv-OB279ihhvodSJ_IRhCKfx14UxR6z2VVOY57X11DfwHUL_p1oCNxDY1fZtWu7rh3YYxtz3dGQxm7ojJLE8SJnlHr-YGQjpWf5_j35lbjWlNTLc3TmWS0PL9GvaK3P0VwvB3zayFUprm-yYkXL37LiSi9-rcn_F_g1hUE">