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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `Proto && "Functions without a prototype cannot be overloaded"' failed
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend,
            crash-on-valid
      </td>
    </tr>

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

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

<pre>
    I think this is not a new one, but I noticed it today. 
C code is

extern int test2();
#pragma weak test2 = test1
int test1() { 
        return test2(); 
}

clang says:

clang: /home/dcb40b/llvm/trunk/clang/lib/Sema/SemaOverload.cpp:6853: void clang::Sema::AddOverloadCandidate(clang::FunctionDecl*, clang::DeclAccessPair, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, bool, ADLCallKind, clang::ConversionSequenceList, clang::OverloadCandidateParamOrder, bool): Assertion `Proto && "Functions without a prototype cannot be overloaded"' failed.

Recent gcc seems happy with the code:

cvise $ ~/gcc/results/bin/gcc -c -g -O2 -Wall bug1047.c
cvise $ ~/gcc/results/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/dcb40b/gcc/results/bin/gcc
COLLECT_LTO_WRAPPER=/home/dcb40b/gcc/results.20240823.asan.ubsan/libexec/gcc/x86_64-pc-linux-gnu/15.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../trunk/configure --prefix=/home/dcb40b/gcc/results.20240823.asan.ubsan --disable-multilib --disable-bootstrap --with-build-config=bootstrap-asan --with-build-config=bootstrap-ubsan --with-pkgversion=cb51e0b236c7d492 --enable-checking=df,extra,fold,rtl,yes --disable-doc --enable-languages=c,c++,fortran
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 15.0.0 20240823 (experimental) (cb51e0b236c7d492) 


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VU1v4zYQ_TX0ZSBBHslfBx8cOS4WDZAgSbHHgCLHEhuKVEnKsffQ315Qsjdudrv9AAoYksx58-ZxODPk3qvaEK3Z7IbNthPeh8a6tRRVPi0mlZWn9ScIjTKv8elBeTA2AAdDb2ANMSyh6gN8istKkAQVIFjJTymwbMuyTQnCSgLlx7_jk46BnAFlAgTyARkuGa5YfnMGYd45Xrcc3oi_jhBg-Xb4mo6Yi-909AW2uIFLiJWj0DvzgftiXmyvpQjNTQ2enzzLN98YWL4BhrvGtsRwJ0VVZBXDndaHluEuuN68MtyNUNxpFY1P1PLz6_5ATlsuU9F1LN_Ml7M8Mh6sknDhZ_lm8Bi-NlJefEpupJI8EMPlFXbXGxGUNVsSmuEmHsCVNa5uhCDvH7hy0ThIHbmd46dH2rO8vPK4PXYu8uS3H6i-0fFEgeF8OHFr9Y_em-1dybX-WRn5gbS05kDOK2ue6LeejKA75cPfRX7gjrf3TpJ7j7KKidx4Ty5mA9g8e3A2WBgkzoEhXjLl4U2FxvaxbLuICaeOQHATK7kisOdwJBkiwwXsudIk0-tieCRBJkAtBHii1kPDu-40EENoaKjxj_VzUJ6AYQG_M9zVQjDcOfK9Dp7hrlJmXIVEQFJDco-QfOZaQ9XX06xYpOJf0hxG_C9emRqqXumQKAO-I-HPWynv7-5uy-eXn8qS5dvvlPVfsv_Z_-75_uXz4-bh4fbxH_CkmGGRLTFPuecm7SvPzdgrdCTxFX1czl_mRdKJRCvTH5Pa9Ax301mapVmEB5u8Od515EYxz9zVFGIRfM9z1GvNXtW9IzkcVMSm6XXbXuyQJJ2jvTr-x-1AkkjleaUpaXsdlFbV1VJlbfDB8Q6SJOpI4uHIZIzO8u1Xe8JHrh-DLhEHVPdan_uJ5VtRzaaUVZjPxUIWK4QkITNIEA2JVxX7ayv3DEs6BscZlnurY4e6ENv2RP5KtbTi3T_2Zs9r8jEKw1IwvBl-5d664Lg5n0njiEtorSQds91Zr46j6anvOusCSbh7vgdh286Rj7qB69o6FZo2DmD4EnP3xQc5usXKPm8QxlqAS_6B4ZKOHTnVkglcD5cALj8mYVi-asuJXOdyla_4hNbTBRazfLFc4aRZzxbLbEazohAVzuSymvNpttxjviLOF9liNVHrc-gCcbqcYiqLXMz3tM8LjgtJS1Zk1HKl0zhzU-vqifK-p_U0m63mONG8Iu2HmxbxMu72zppAZhw9ZTQ47pvEmuTAtRqWZ9uJW0fKpOprz4pMKx_8e5Cggqb1_zkKJ73T6yaEbrgjcRd7QoWmr1Jh2_frcNDYOfsricBwN2w-jpHz_g9r_CMAAP__-Vilhw">