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

    <tr>
        <th>Summary</th>
        <td>
            Crash Issue during Clang-19.0.0.git Compilation Due to Recursive Call in Code
        </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>
    # Command
`clang bug_1.cc`
# Code
```c
int foo(void)
{
  return foo();
}

int foo() __attribute__((target("default")));
int foo() __attribute__((target("default")));
int foo() __attribute__((target("arch=core2")));

int bar()
{
  return foo();
}
```
# Version
`clang --version`
```sh
clang version 19.0.0git (https://github.com/llvm/llvm-project.git 987087df90026605fc8d03ebda5a1cd31b71e609)
Target: x86_64-unknown-linux-gnu
Thread model: posix
```
# Error Output
```sh
bug_1.cc:6:26: warning: attribute declaration must precede definition [-Wignored-attributes]
    6 | int foo() __attribute__((target("default")));
      | ^
bug_1.cc:1:5: note: previous definition is here
    1 | int foo(void)
      |     ^
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: /home/cTest/llvm-project/mybuild/bin/clang-19 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -dumpdir a- -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name bug_1.cc -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/cTest -fcoverage-compilation-dir=/home/cTest -resource-dir /home/cTest/llvm-project/mybuild/lib/clang/19 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/x86_64-linux-gnu/c++/9 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/backward -internal-isystem /home/cTest/llvm-project/mybuild/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/9/../../../../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 -fcxx-exceptions -fexceptions -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/bug_1-0036ac.o -x c++ bug_1.cc
1.      bug_1.cc:7:45: current parser token ';'
 #0 0x00005591a9339bcf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x37ddbcf)
 #1 0x00005591a93373d4 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f01253d9420 __restore_rt (/usr/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00005591a6945de9 CheckMultiVersionAdditionalDecl(clang::Sema&, clang::FunctionDecl*, clang::FunctionDecl*, clang::MultiVersionKind, clang::CPUDispatchAttr const*, clang::CPUSpecificAttr const*, clang::TargetClonesAttr const*, bool&, clang::NamedDecl*&, clang::LookupResult&) (.cold) SemaDecl.cpp:0:0
 #4 0x00005591aba2bc41 clang::Sema::CheckFunctionDeclaration(clang::Scope*, clang::FunctionDecl*, clang::LookupResult&, bool, bool) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5ecfc41)
 #5 0x00005591aba313cb clang::Sema::ActOnFunctionDeclarator(clang::Scope*, clang::Declarator&, clang::DeclContext*, clang::TypeSourceInfo*, clang::LookupResult&, llvm::MutableArrayRef<clang::TemplateParameterList*>, bool&) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5ed53cb)
 #6 0x00005591aba34c3f clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5ed8c3f)
 #7 0x00005591aba356e5 clang::Sema::ActOnDeclarator(clang::Scope*, clang::Declarator&) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5ed96e5)
 #8 0x00005591ab6c8e5d clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b6ce5d)
 #9 0x00005591ab6dcd3e clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b80d3e)
#10 0x00005591ab6969c9 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b3a9c9)
#11 0x00005591ab69754e clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b3b54e)
#12 0x00005591ab69fa2f clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b43a2f)
#13 0x00005591ab6a1617 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b45617)
#14 0x00005591ab69054a clang::ParseAST(clang::Sema&, bool, bool) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x5b3454a)
#15 0x00005591a9b83b55 clang::CodeGenAction::ExecuteAction() (/home/cTest/llvm-project/mybuild/bin/clang-19+0x4027b55)
#16 0x00005591a9e15191 clang::FrontendAction::Execute() (/home/cTest/llvm-project/mybuild/bin/clang-19+0x42b9191)
#17 0x00005591a9d904eb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x42344eb)
#18 0x00005591a9ef511b clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/cTest/llvm-project/mybuild/bin/clang-19+0x439911b)
#19 0x00005591a6a4dced cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/cTest/llvm-project/mybuild/bin/clang-19+0xef1ced)
#20 0x00005591a6a4657d ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#21 0x00005591a6a4ad96 clang_main(int, char**, llvm::ToolContext const&) (/home/cTest/llvm-project/mybuild/bin/clang-19+0xeeed96)
#22 0x00005591a6950fdb main (/home/cTest/llvm-project/mybuild/bin/clang-19+0xdf4fdb)
#23 0x00007f0124e87083 __libc_start_main (/usr/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#24 0x00005591a6a45d3e _start (/home/cTest/llvm-project/mybuild/bin/clang-19+0xee9d3e)
clang: error: unable to execute command: Segmentation fault (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git 987087df90026605fc8d03ebda5a1cd31b71e609)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/cTest/llvm-project/mybuild/bin
clang: note: diagnostic msg: 
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWltz4ygW_jXKC4VLQhdbD3lw2_FMaru3U52emUcXgiOZiQRaQGnn32-B5ItsJ31zz1ZtVzqR4Qi-83FugKkxopIAt0H6LkiXN7SzG6VvBW2oVPKlUZ1h5qZQ_OU2IDFaqKahkgfhMgjnQRaymsoKFV21jiaMBVk49HhRDnu5_of1n4W0qFQqILNnJXhA8kFs-q5_QEiD7bQchJxA_G4nsxweTkYKSI7Wa2qtFkVnYb32bTNLdQXWPxMOJe1qGxDiRux_duP-bwaimm2CeMmUBnJxtMOYBdUDFT_A1Y7_w-L8CdoIJU_WEePnoX0vu3vVbPqGXnAQQ1E-CSdhJSwKyGxjbWuCeB6QVUBWlbCbrpgw1QRkVdfPuz-41epvYHbi3spn03A25WUehiTLwrRkMx7GUHCa0ojxOCqmEWRhvtf7c89ePEfbWbbOEtzJJ6m-SFwL2W1xJbtBbqOBctQoDrWTbpUR21fZuNNaafSxs21nX9F7b-LxPAviOXG_0BeqpZCVe9yvM-LAaqqpdfw0nbGo1cCAu45SSOHbg_Qd_ktUUmngeP-qCdLlblURylAwXaCrGSby_9yQQXp3plMUxPPU6SGVBU-YhmehOnOMWhi0AQ2H8aITiCN3Pkzo_-4mfXh_N3-8Q6YrGmERdbEDaWiVtsgq9H02FJCVMKYDE5AVopIjIVndcUB2A4hpajaooOzJasogIAunVKsVA2OAI6M63Te7N6kxiglqgSPdSWSYFq2d9JAfLWVPiHdN65D5pnCCHrSqNG0Q1VXXgLQONgrIaqMaCMiKfQZjz_E2L0Unah6QVSGkE3P-hKMcYcYihK0WbQ2vGjfC0AiLVfE3wo2Gmm4xrWuEHTYuNKIYYS4MLWrApQZAmNVANabG4gJKpQE7QkDyg5wH-AxalAK0b2ZUc_xM6w6wpA0YhBsqJC5F3Tfs430PQjFv7Ng7G2oFQ7gVDNfwDDUi_QdhcCsA4abUtAHcKiEt6CBeevhlQ-0Gg9ZSIVyWLWZKukWzQbxUEuFSKqxVJ7mQFXayCDdMSWN1x6zSmNaCGoez7OQXITm2TjMTxEuCcO8gmLWdoxVnCcK2k-AbKpCgHWAORVdVoF2X9-hlxQuES9-OmWpaUfdacuFgn6wzwiVTz6BpBd8irKE3Ptf_PSZTi2JnMgFZOaPxNEpaY2FejIXGjdYZvZetGAvIajCnQ4wkqzwgq8nk_NfgQW6agLzzP6tfO8-Fl_6pqY_mcQ5J2dMXqvnlKX90jQ4TvqmKYrT-RtEf0_qC6PlksHUP7HzS15fr7be_fwrvdC5luliMG8q0iwngMjSuhcsZzu7LSnZsX63Ey2RCJpHzwu0Ww5ZB69zPBYTRB6ZqpTEXtJLKWMFcG-VcG1EhvFyvf1ss1r_P_7xbL_-af1qR9WJ1v54_fgjiZYSwclBt0zpLcfEPh2GcUTZRCG_RYEmHSthniWjSJ8GjRDsN4nniMy3rtAZpUUu1AY2segKJAjJ1GZtMhxwakDhE4TYMwzBN84jmcZwXrEQ-GcbzIJ6bF9M_PGghrU9Vn_t8NzsIafplrYzVQJuAZC7nCWldQeHrhh9MWQF5F27jKecFKw9ZPyBxdIJ4GvMEPYpK0vp3KnkNrpQdAPTNZsJal1xD_38_EBkGmpZhRNKY5wkJ0XqtwVilYa3tgP_YMS7YeS2K1vqCcGLUJPS4oyQh4Qh1fIw6y5OUQ44WG2BPH7raiqFinnPuiyFaL4HVAZn1nu5ZfoSGDvQeta46ydwbvfz8u3qPZ_6XkPyke_Hwx1KYllq2mVurkc-J56MsHv54bIGJUrC3xPraelErCeZMrlCqPtft37QBvod-2vteqaeu_QTG16TZYG8Tppwx5cjR5d69vPbJ8XIUlBQsidAp2b16bo2OeRyq75PFYaqF7-X_TIMdEbu_V_CgFFjJkmhki-lY-TiKWXFZ-TmzH-Wp8kp_k-7H4qdr5_oWSlrYXrKUlxYefQVzL0v1TbQdYtGHzldnc63pyycog3hxPDI0bU0tPFBXJ1rQ70VvgvHdyAqvwjtPY1aMeM9OeE9YXF7mvQ9kP0v4NVi5DhUzFo-D-PSEijSD9A0T_DkmrqNDnkE60mE20iFjM0j5MYoHn3qPno-ix7y0oA8w55LPD_v0kYpvudHZDHy3ls5zdhH2rbdWSn-isoJ7KXpPvAZXRcYg5SOu8jFXnPEYvsrVb1p17ZgN1ydk5Xpd0rkcWXq69vHlXPkR2acj9KHn_bDvPDeuX0_fLOQxHA7jSByFY_ryLGf5V-n7qA-Ru7wfKuRzOt9m49sk3lySOWNgzFAjuOrsKiTFNGf5iKTohKRpmnzdxgZ_HHE1nEj9A1Sd2tYvoqpIk7E9kROqSkrKN6m62_bm82oB9KvouQoBSUxJOSIgHhNAoyyavknAZ9W-h2e4UJd_bOl_OniwepxV9wHM59u7C3Fmn-I-KN7VcN-0SrstloWrZa0iSbNoOtI8OVn6ME3omebzx8-vbj6uX6IWcZImdIRyVKLmxSwu0lF9sFAcfgM59y7bN91tgXUWhqb-RPunsSUhmRZpOsI2KuNyiNIoH-0dVtplHskvgLsaLFLkUR6NYI1KqpznYQLFmLKmFTXoe2kslQwus_a6HleyyYTESQLFCPpszGiZRtEI-gDyoMHzPjvP3tLwSgEkifM8isaQRwVNRhPOgCPGonVD3QBHpyPHRfeGHu17-03HuI0sUH_NcR3kUEYM-DFwEp4Az9IpRzuCF9Fn79VH8B8bWtd_ArNK3zdtfVGLk92GG2Oovo5q0BxxLZ5Bn2_IHazoBBbledabwI5Rf6TT8-XpmX_bpD_PIbjaf8QhGR_mpGHJC-Rg_vxsvExKPjI1Eh-fUyUwm4azGK3XtSjY2liq7fpo6q8fVrGJUZPMT0aScBaP5kpOliF1dXo_yzWYzI8L253nIn_86h466XapyCoEvUEiNnwjIJ6jR6gakLa_-vQ3kQ4RUxr85dmRmZ8P3N8rl0NA242KSipq4Ih3fk7jDwvdoJ0BhJ99GwASR-Em_3-5p_Yxsq6BL4X-gavFMc-7a93D2TdqjO85ue--4bcxz-Oc3sBtNI1ImsRpGN9sbiGP4hlJIS3ShCWzqGAFxCRNotmMFlGe3ohbEpIkTMJZ6Mq3bJKTWRpymkIyLXiWJEESQkNFPXG4J0pXN_7y9nY2zdPpTU0LqI3_GgohEr4g3xkQEqTLG33rdS26ygRJWAtjzWEUK2wNtwt_3XvvXkK800JWaDGYtlt7v4yLw9UcWvYm9QlYp414BrSgdY2E9N9buel0ffvjd9Feo_8GAAD__44Q5H0">