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

    <tr>
        <th>Summary</th>
        <td>
            Clang crashed when there are multiversioned definitions
        </td>
    </tr>

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

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

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

<pre>
    Minimal reproducible example:

```cpp
void foo() {}

[[gnu::target("default")]] void foo() {}

[[gnu::target("avx2")]] void foo() {}
```

```
Stack dump:
0.      Program arguments: /usr/bin/clang-14 -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all --mrelax-relocations -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name ttttt6.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 -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/home/qc/Workspace/Code/Play/Cpp -resource-dir /usr/lib/clang/14.0.6 -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0 -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/x86_64-pc-linux-gnu -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/backward -internal-isystem /usr/lib/clang/14.0.6/include -internal-isystem /usr/local/include -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../x86_64-pc-linux-gnu/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -Wall -Wextra -pedantic -std=c++20 -fdeprecated-macro -fdebug-compilation-dir=/home/qc/Workspace/Code/Play/Cpp -ferror-limit 19 -stack-protector 2 -fgnuc-version=4.2.1 -fno-implicit-modules -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/ttttt6-a4be09.o -x c++ ttttt6.cpp
1.      ttttt6.cpp:5:36: current parser token '{'
 #0 0x00007f583a98245a (/usr/lib/libLLVM-14.so+0xcd545a)
 #1 0x00007f583a97faef llvm::sys::RunSignalHandlers() (/usr/lib/libLLVM-14.so+0xcd2aef)
 #2 0x00007f583a97fc3d (/usr/lib/libLLVM-14.so+0xcd2c3d)
 #3 0x00007f58398c7a40 (/usr/lib/libc.so.6+0x38a40)
 #4 0x00007f5841d42419 clang::Sema::CheckFunctionDeclaration(clang::Scope*, clang::FunctionDecl*, clang::LookupResult&, bool) (/usr/lib/libclang-cpp.so.14+0xfd9419)
 #5 0x00007f5841d454c2 clang::Sema::ActOnFunctionDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::TypeSourceInfo*, clang::LookupResult&, llvm::MutableArrayRef<clang::TemplateParameterList*>, bool&) (/usr/lib/libclang-cpp.so.14+0xfdc4c2)
 #6 0x00007f5841d4ef43 clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) (/usr/lib/libclang-cpp.so.14+0xfe5f43)
 #7 0x00007f5841d61ded clang::Sema::ActOnStartOfFunctionDef(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>, clang::Sema::SkipBodyInfo*) (/usr/lib/libclang-cpp.so.14+0xff8ded)
 #8 0x00007f58415f40d4 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib/libclang-cpp.so.14+0x88b0d4)
 #9 0x00007f58415780e9 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/libclang-cpp.so.14+0x80f0e9)
#10 0x00007f58415e3478 (/usr/lib/libclang-cpp.so.14+0x87a478)
#11 0x00007f58415f86ce clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) (/usr/lib/libclang-cpp.so.14+0x88f6ce)
#12 0x00007f58415f8a56 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) (/usr/lib/libclang-cpp.so.14+0x88fa56)
#13 0x00007f5841542e98 clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/libclang-cpp.so.14+0x7d9e98)
#14 0x00007f5842b1c9b9 clang::FrontendAction::Execute() (/usr/lib/libclang-cpp.so.14+0x1db39b9)
#15 0x00007f5842abbe67 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/libclang-cpp.so.14+0x1d52e67)
#16 0x00007f5842b7374a clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/libclang-cpp.so.14+0x1e0a74a)
#17 0x000055e5b1cad6f1 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang-14+0x176f1)
#18 0x000055e5b1caf337 (/usr/bin/clang-14+0x19337)
#19 0x000055e5b1ca3216 main (/usr/bin/clang-14+0xd216)
#20 0x00007f58398b22d0 (/usr/lib/libc.so.6+0x232d0)
#21 0x00007f58398b238a __libc_start_main (/usr/lib/libc.so.6+0x2338a)
#22 0x000055e5b1ca5655 _start (/usr/bin/clang-14+0xf655)
clang-14: error: unable to execute command: Segmentation fault (core dumped)
clang-14: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 14.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang-14: note: diagnostic msg: 
********************

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

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

[Compiler Explorer](https://godbolt.org/z/a9KvPcvnE)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNWdty2zgS_Rr5BUUV75Ie9CDLcpJaZe21vONHFQiAEiYkwQFJR5mv3wNQF1JWHDtJ1axLJkWwcbr7oNENQIni36afZSFzmhEtSq14w2SSCSJ2NC8zMQhmA_dm4B6usdt-WFm2Lc9KcpIqNfDHA39CBqPrweim1yW6xmdTNAYqmNVUb0RtpX0uUtpkePDRdRDd4EN-BY8-7_w3gx08uehe-7iqKftCeJOXRxrcIbF_91ptNM0JtDe5KOoKEmTg3zaVxjWRBa4so8XG8ULiMOYRp9YShJLdOF7HoVMyJ5NFs3PgCXFELmtHJX8SJ9ciozuHZhlxDg-4KkZrqYqKOFxWFAPkpFoIIGeCaodWtZOIVGnhJDBZFPwkl2XPufMstEyl0LaZUc2dZ5o1wiloLoCZU1k4qczaBlKbv3iIMW7t2St3csVFRkrJiIOLk4lnPPrtg6xwg0F5ClqEUypZ1EIPghvrSZrTeusIrQuFh7R0mCpqTVkNAVWgqVCOVk3BJRgzsgCCSFXrhtUKDmaSVsbStCm-yoI7tfENpN9AfRsCDisbQ64Tg_C6KYRt2IgCrsPg3PBgBkHQ2gEFWUui3Alu7DI6Kucr1QUsAEsiaTYboQ0QGqBnwxNoZwpM0g2wVV7KrKWFS-MnBnyrcoHbXwyXJ6W_VCVlpmEO3nC7z-g382Ro1aJSjWbCdD7FTSaTQ9zg7oVDdxgTxzJZ0Awcf6tqkZ_H2XDYdo1D3DfMaL8QZAbQH_pD99Dj7CILljXWTgBc28--wz9vwWW8_wu7zHxD2PDXjLk0rCfcV3ti6mVvE_2dHl_u8tIIsTNfWNeYNwm1Fh9Fn2yOeIKgpsgmgtOiNnO2qjkm1p50H3GYcpQogWyESZtTppVtwlT95fmYtjkgk0jExJsY3RhYBwWxFiYDmTSXggZmUmkFLdAQgkGvzV0StVIy5HCkyCaziYrtdnCdiXKft9PeA1MZ1HFJN4Wq4Kxpo5wDGtnnZr3-MJ-vP87-WKxvnmYPt_56fvtpPVt9hlZoVIbDGlUJV5uqHRomwp0MwceO7PnqZPG2dHn70tVpD2YR_oPYFC_WaI1CRkqqKxSKWqGMQM_IFE1cLQSeA5e4Oxd_ozQaB3Qy9sOIEltge9GO63L5x2eUv2GF-nvt7hiPIGqK8xHL62ONUipSYhJ1W9sRMO2Xh6ZYyQ2C6SMteIYBOBT0N6n1gdpT65-rZQF_KxZEe1hBF2syZiMaupexGFDMvAdOMIZUDybswIQeD_0QQdhmDMvASuS0_TbfCvbltimYCaUbARltwx46u_JMlYjx2cCfd2G6_V6-XSr1pSkfRGUXZbF5myiVfZfpdoGDQDKeeaF1LeUTmN7zLTrzLQqZf9m3GavvinPflH6Ta13x-MK7OVYcyDAvOz5-K8XKFuNPRarexMopRD83diUy05p-e0CYBfMuskBaQLK6p2ZNhCy4lJU1IFicuI3fSS8Dez164zN6RRoGl-ltZ8-v8vo7nH-PxyKCQz2PR32PY48L_kpAYRmv67v0FFfpP-f4_LKdqy-yvMZe7BiB7yEoHcP_HkHjHkHgz-VhV_G9zfGd7x1usBl8mU6MENbBr82xF5j8QIRxitjV_Ou9li1p6Dmr6yNr76FiPE7gaY-KSZ-K0dgVk1fNNj5-wF6k_C4Dq1Kwyzmm5eaYafqDbVPMcr-XehluXUNulX7ACzAn38-Bm8LFIwemyrp9DkQQjsbvAERJG417gN5ZfI1jJl4ldbFrF4PfrVencZdJU4vqSdZbS8HlkOmNxHtjJI3NKrDjjn_uDo3iV915VOXSbH7bMtr1466kfzXivtb9nHAMKpstFj9bXGE7TOvZHvRtD30xGb-wfbZ6PEt5JvN0jfgJY0Z8Al09Y3qrGD_x2CTpTbZbbaZGwWc22bRti51gGPHXVnSXtHs8CYDeU99baPg0SUQ86qqf202C0J-QimjBRM-AvU09ms7sfWet9njkw4KeiXGfoVEwCmnXxL0xJ0ufjwlj_Jon75wEnnApNPdMO1TVKBIRho7yOPUIY97anA4B-VT-unVvS_Uhtx8rXK8NDeYY7oKF_VOy1q4RlPasGp9ZlQYo_z9CmUCohzI5Qwl8jITx60dQHIJdJN_tr_cT3-c_Xu-jH3d7MN45DLYEZL023daVWa-sX1h3GRj9esD-madRHEWkhfyRrylEj1jHN9ga2r2x-dIUZtmDvSERbZximPMcq0rzciU25iTURiuxB7tGIVNa2CPUzhLlIrZtJOl-xh2AAYQ450Cwaiu7CzS4TSWI82zbhCCyM0-6Ssh-t072hy72zWN7ZAydl845WpGtFpQTe-BpBEtVyV37yk65DDbdSGt3j9EX7hWqNmmGnHb6JK82tt9-yH7h0zm5vl8uZqsFmT0-zuYfyePHBbm9Wy7vnj79-wO5_bRcrMjjnW2-_u8H8rC4v3t4HBzOtO_twT8TFSowaY8lQXBlpqsZAVpViklz5kJ0U5CKaVnWRwGMrj0fxltaHyHfSMHZKYbvRoEbnE4sfgml2v7EaPyuMbn440J0fUjbZLErM0wMbX6n8Mfbui7tSYd_a07tFE9UVg-VNqeFf-OfTv71fM-eC7NxuhJTL469IIo9P7zi04BPggm9qmWdiencxjzTtNpiPL5uRUHqrcAQmWHKMSPlfj6YGXVc6ldXjc6mZ0Zg_dUkQ8xCk3NM5m9v5kTsT8Fqc3xXVY1AENxGoyAMrrbTNGVhKKiIxtT3UNpCHtGQp4KxJBRRMLnKaCKyamp-wfH9QnwlFsL8YhPdXMmp7_q-O_bNKmYchkM6mXA_CGnietQb8WQQuli1yGxo7DDsXOmpNSlpNhVeZtgwVKeXCFskCyGsOuDTpt4qPf1Pg0wo2ZzWV1b71Fr_P_r7HpM">