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

    <tr>
        <th>Summary</th>
        <td>
            clang-20 crashed with vectorcall attribute.
        </td>
    </tr>

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

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

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

<pre>
    clang-20 crashed with ```vectorcall``` attribute.

Compiler explorer: https://godbolt.org/z/6fd1eYa4W

```
$cat mutant.C
template <class> class a {
    typedef int a::*b();        
    b c __attribute__((vectorcall)) d
} a<int>::
```

It was reduced by Creduce.
Also crashed at Clang-19.

```
$clang-19 mutant.C
mutant.C:3:36: error: expected ';' at end of declaration list
 3 |     b c __attribute__((vectorcall)) d
      | ^
      |                                    ;
mutant.C:4:2: error: expected ';' after class
    4 | } a<int>::
      |  ^
      |  ;
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/lib/llvm-19/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name mutant.C -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=/home/code/InsertAttr -fcoverage-compilation-dir=/home/code/InsertAttr -resource-dir /usr/lib/llvm-19/lib/clang/19 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /usr/lib/llvm-19/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-64345b.o -x c++ mutant.C
1.      <eof> parser at end of file
2.      mutant.C:1:24: instantiating class definition 'a<int>'
 #0 0x00007f1ec31c7246 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea7246)
 #1 0x00007f1ec31c4e20 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea4e20)
 #2 0x00007f1ec31c790b (/usr/lib/llvm-19/bin/../lib/libLLVM.so.19.0+0xea790b)
 #3 0x00007f1ec1dff520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f1ecb16c0e2 clang::TypeLoc::getBeginLoc() const (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x12ba0e2)
 #5 0x00007f1ecbc0966a (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d5766a)
 #6 0x00007f1ecbc2e8ad (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d7c8ad)
 #7 0x00007f1ecbc31b86 (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d7fb86)
 #8 0x00007f1ecbc31733 (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d7f733)
 #9 0x00007f1ecbc31624 (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d7f624)
#10 0x00007f1ecbc0a346 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d58346)
#11 0x00007f1ecbc4ece4 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d9cce4)
#12 0x00007f1ecbc4bbe1 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d99be1)
#13 0x00007f1ecbc0d402 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d5b402)
#14 0x00007f1ecbc0f306 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1d5d306)
#15 0x00007f1ecbcc811e (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1e1611e)
#16 0x00007f1ecb414c3d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1562c3d)
#17 0x00007f1ecbcb7fbf clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1e05fbf)
#18 0x00007f1ecbcb786f clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1e0586f)
#19 0x00007f1ecb4a6593 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x15f4593)
#20 0x00007f1ecb4a95b8 clang::Sema::ActOnCXXEnterDeclaratorScope(clang::Scope*, clang::CXXScopeSpec&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x15f75b8)
#21 0x00007f1ecab09ce0 clang::Parser::ParseDirectDeclarator(clang::Declarator&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc57ce0)
#22 0x00007f1ecab08b4a clang::Parser::ParseDeclaratorInternal(clang::Declarator&, void (clang::Parser::*)(clang::Declarator&)) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc56b4a)
#23 0x00007f1ecb414c3d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x1562c3d)
#24 0x00007f1ecaaf7e14 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc45e14)
#25 0x00007f1ecabb6987 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd04987)
#26 0x00007f1ecabb633b clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd0433b)
#27 0x00007f1ecabb5547 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd03547)
#28 0x00007f1ecabb3a27 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xd01a27)
#29 0x00007f1ecaae17de clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0xc2f7de)
#30 0x00007f1eccb740b5 clang::FrontendAction::Execute() (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2cc20b5)
#31 0x00007f1eccae42f4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2c322f4)
#32 0x00007f1eccbf0dee clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-19/bin/../lib/libclang-cpp.so.19.0+0x2d3edee)
#33 0x00005635e849abc5 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/lib/llvm-19/bin/clang+0x11bc5)
#34 0x00005635e8497ad5 (/usr/lib/llvm-19/bin/clang+0xead5)
#35 0x00005635e8496c9b clang_main(int, char**, llvm::ToolContext const&) (/usr/lib/llvm-19/bin/clang+0xdc9b)
#36 0x00005635e84a4f36 main (/usr/lib/llvm-19/bin/clang+0x1bf36)
#37 0x00007f1ec1de6d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#38 0x00007f1ec1de6e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#39 0x00005635e8495765 _start (/usr/lib/llvm-19/bin/clang+0xc765)
clang-19: error: unable to execute command: Segmentation fault (core dumped)
clang-19: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 19.0.0 (++20240722031324+65825cd5431c-1~exp1~20240722151445.1819)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-19/bin
clang-19: note: diagnostic msg: 
********************

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

********************
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzkWktz2z6S_zT0BUUVCb4PPsiSlbjWmXhtT5I9qUCgSWNCAhwQdOQ5zGffAkmJD8uvjP6prVqXE0sg2P3rHxrdjQepa54LgHMruLCC9Rlp9INU55yUREjxVMqmpvVZKtnTOS2IyG3sIKpI_QAM_eL6AVmh0_0-AtVSUVIUhyZEtFY8bTQsLGdpOcuVLCtegEKwqwqpQFneEj1oXdWWt7TwxsKbXLJUFnohVW7hzb8svAkz5sL_EP97J-Mg3XzGPiUalY0mQi9WlrPUUFYF0YAsb0ULUteWd4naD4ggK7qwnCVCCOmnChhkiAuNiNFt1C9TC8cWTizvAvU_ffcUUbTdHqzZbtuO8chknFg4QcxgitZG5IoLbXmXvewZbGd5pdEvUiMFrKHAUPqEVt1nw9SyqOWBZaLRqmXeTRbHGeifjmk4fPSWnvkXGqJBKdkyDrsKqAaGLBxZ3oWFI6MFBEMyQwxoQRTRXApU8FobCjxkRSv0USZ6CqMVsoLLyfd3_BhcEzt8y1viN83INKhuvHuFfgfg-KCMED2D2AG4ub5c3l2iuklLrhFBaZMjBZVUGmk5d12uH5p0QWVp4U1RPO7_2JWS_wCqLbzhdd1AbeENIoIhLmjRMED6AbrhRimhP7UiFCy8QpWCSkkKdQ0M1bJRXbN5k9S1pJwY41UjUE0Vr7RxjztN6E_EmrLqLHQWnUk3SuaKlIiovClBaIMaWXjT1Mqg5Okeq5tYeJNyYeFN61jIptRFtla8KgDt4nAb-nZF7YKLZmfnokE2lFzbMv0Hso1exhUiNrIZr0lagJ0pAGTTAoiySa3tFDKpwDaWGo879Gu1P4LiGQfVNlOimP1IigZsQUqokV0SLuyMF13DweGRXSooJG2d1i4lgwJVnCK74tQu4BEKhLsvvLYrDsguM0VKsCvJhTZRaE2KAtlZSfSDDUoJiewsq2wqhRkNbXlrKZCdCWkr2QjGRW6bvsguqRS1Vo1xf5sUnNQGZ9aIX1wwWxvLastbY2RronLQNq0aw6Id-sjWjYC2IQcBygBmkDZ5Dso84iK3vHXOUmRnbbtN2_DZWcm4gW3hzYMswQyWZObPlahB6aXWCtkZlY-gSA4ffVFB522m78tO0n1vncTCGzdBdkumIIXN66daQzl_N6fUwpvehw4OZF52LbxZLJ7_188Qo8fCF-3vxnX_Wk1H3vpzyseazEQk9OcvotjbSl8el0H-q1IkJcU7u_6mlUf6PtcGO_OBPtf68gC9_vbHVbTzrVJATXy1S0KVCQdt2rELbvKAcfYsFw01AavmUlje2l_ghYvsrP7JK1syZdMHoD9tLuy8zMxk3O1s2FGozCw0MWLyhcpCKptxkgtZa05NG2FM1TxH9nq7_bRabT8vv11u19-Xtxu8XW2utsu7L5a3dpEtjQm6rCy86UKiHfqeH6QLiewd6l1qXB64i32SXYHMTIlUEVWDGpUBJspazhL3PUeJ2DWJ2GRjxEVtWjnRXOR9lcUg44K31YOFo1HOxZHJrxb2HOTsHMdxoswF6rk0wn6I2nTZpuX6qe4-3CgudJvP7ruMGA-dFPm1lbVWQEoLhyYrGi04QW058mpWa12xf8TT6-tvXxa1XLjJwrHwhbMDYvCYKqZD687Q-oCdY2hvG3HHc0GKz0SwAlTd1ZKnAGRUDoDwnL7ESU9iduKkgxZvrMVlWRZgp9fSCTkymQueUiM0bCX6OBjD9scCUzekDmDUBamWv_unCq4l7b7koC8g58I0dDS2afbDZnalMa2qia0uTokDeMAWTLBRJwlDcipdLIjCkAy6wqkuDDFhJ9MV0ZiwQVc01eW5aRyeTleWxqN5Es91RZ53Ql2R5w26krmuEPsn1BViv9Nlpr8z8w3i-eHYb--g7BeQd01a600jqAl-a6CFcWkLxzMnv2tLqyuRSQsvTeQaPf_SFJpfm4L1vl_HLvt6_ZrXupsEfbwbQ2glXvf17-zheljO_Y2UMHu6-vHjFqhUzHR7jue_G1K09XhtHqRSFr8T0l6cGbG3j7SGaXfKtA8U_EmE6CkxUK8OmaddCs7Zf878eFx6O4cgfleSovjWLmGvyqrotg72b94QVX4jav-iyWThKVlIKIWRv-EZC2kK7vtZ-MZrrlc_fnwB_SD7QY2n4z1-NB_vvfAbYpZHGpRxu5e7HcdwC78U1_BfXLCT8pSk4A48ebN5yXwHH5-XA0JYtRsDE0ZenTxvTI83Hv_ebN73vauAclLwf7XAOjb_gjmY-g4eWPVnrGae80K0m7N6HPZHuH5ZyuvO-oeIYp4zClazkoHGrgun0gVu6Low6JqWDL7rU48dHxTViO9cP9w1WcYph758vqu68vnVkRiiYdaHyq2CzPJWj5L3BUrSBr-TURqEmHpsMHNWraRRlmbHzbyFfzZcwUqWVQEaTLRv4_b7nc0kti5JrI6rGMveu9TRjqbDulu2gWqd9GQEgRNkaTYQFM8JisP3E_R_gZxT5k1wgjgckTOtCX0SBon3LnJMcFlJoWGnn-XKOyqrNr48D9OT10456kHmB4l3MAw7M8OSII2PG7ak-qtY_fhxKTSofd0nVWvEbPi7piP5bGrxCY2KgjQejJrUeiR1EgoOmhZdNajR5zVXQPVg1NSecfsJYdMgouAMqPEMdZz65HXUB1xX_ebTq7hXaB9sXxDaedrrtp_S_DD1yWC-9_8iD-FJDURIFoHrvznKn5RsqucDx0Vunr4cQrqROwSS1TNFbLk_a6ufS3gGhe2Lom59-dZKcR4AxvI2Ut0SkcOV4KeNcNQPwB1WPDiYzqo0TOLoTb6_qmFFlx2fXO-k780er47hklKo67YENevk07HEHD-Jo4GlcM6S56Xvij1ciglZ_e7sH-Bq7l1_JVeelw5cRTOugsB_3aMud50DjTj7M_ycjgEv8EfeEs8Y8Ah-nYF7WbUr1edbBl8r8s8GbrSaboscgt6tic6XR2LNIRt8kawpTIUulUkEGk6apJnjEjwyPZmGb3AjBs9MX97dzxKRQdvZ0K0cT72CpDiL2LCom56C0DTynTQYw9wokxMEW7bztmu73AFtDH2_dbJwHBemFDtpMACblGaUgI-zSfrb3-HpNgAoTKD1aKdbb1NLTjn2mHoYZ0MumR6O0DRzGEwGv4c52PB4yIXxazaecq5i5gGDkSvs66og9AKI_YSkNECUutuSGKGjY6-lUuSpnXAr-kDUfgup25VcoWlbX06-G3t_YmxKIjelI4_wZ_giwoIPyQPCRuKCmbiQJn0m2xvcnuV15rToZ9u191Lul16jTbSPmchoMiSMw6FMD4n4mRciA-ZjtKWZN2wRTU9fXAYhSz54hIYTlgzLj-kRixEIvoO2W_POttZE6e0I8rtVgD9SkczGJojCAHXCP0QFjcJ-xPe30yY3txpB0gKQlgi6CYmoLEsimHl4B3kJQnc30DLSFK1qKhW095qAvSK4u7KU9RFnLxVlhBfAEGtanXV7TmuENjUg-7FtA0B8FA2Mhr-njdBNL7M_6EdmGi_6cbyw8AV2sO9EGDue62HfwhdhEOOAssD3XGq7_4Zd5f5738kNXN8PFm5sSDMq7ttLQQb5kZtV5vmDAsJQe6XJ9KpkzXeW0-2-FgWwNVdv3uSaciWkNjEbDXcNUFnnrRBnuZ9uv_XbXk7sL8wt7--Xq8_o_vMl2ny9vv76_epvn9Dm6vryDt1_bZsv_v4J3V7efL29726q3Ry77RbXZmK_eOPt0EEBau9_tfclO3nvtHl-cSJw4sxd0Kr6T0XUDx8i_j_nfn8r9IydeyzxEnIG527khdj1_Sg8ezgnroMzN6EOZCGlnpd6cUQpIUEUJCQj3hk_xw4OHNeJHNePgnAR09APfBwnOMMkTXzLd6AkvFgYB1tIlZ-1FxrPXezGYXBWkBSKur1KjLGAX6h9amFsBeszdd56ZdrkteU7Ba91PYjRXBfwwg3j4W7p6D7xWaOK89-_ftkDfjzH_xsAAP__BXWWUA">