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

    <tr>
        <th>Summary</th>
        <td>
            llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:315: Sanity check in wrong place ?
        </td>
    </tr>

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

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

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

<pre>
    Static analyser cppcheck says:

llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:315:22: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition]

Source code is

          if (RelItr == RelEnd)
            return make_error<JITLinkError>("Unpaired Addend reloc at " +
 formatv("{0:x16}", FixupAddress));
          ++RelItr;
          RI = getRelocationInfo(RelItr);

The if can never be true. Maybe better code is to put the sanity check after the increment, not before. Like

 ++RelItr;
           if (RelItr == RelEnd)
            return make_error<JITLinkError>("Unpaired Addend reloc at " +
 formatv("{0:x16}", FixupAddress));
 RI = getRelocationInfo(RelItr);

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVMGO4zYM_Rr6QjSwKXucHHxIJjGQYhcLzGzPC1liYjWKZEjyzOTvCyXpNl0UKIqe1gfBMvWe3yMpyhjN0TF30Gyg2RZyTqMPnVaDqOpi8PrSvSaZjELppL1EDqimSY2sThjlJYJYQ7mF8r5a-3YG6q0ZgPrdB6s5Ge927mgcA_W_7r9-Mu4E1H-WavzyTYbzU71Q0wRiLaoGxJoIxBrfZXDGHfPrl2ny0SRG4xwHBGrNAahF5Z02mRwtSx0xeZSoWWpUXjMO1qvTAqHZ-DvBPuOf_0RBs33U_ernoPgGNfExgt8fc0Cg5QvbfQoIYgtiiy9sd04DrX48jBg4zcHhWZ74G4fgA4jnu__dbbsDWgLRb26SJrDGtdbsNAa2XqFMCEQItLlTH3w4y_R2w0C7KUGsP6onaLd5T8_Ym495WmsdOMasiFYgNj_qyny0uZn4h_DLPjvDI6eXrELmVO3dwX83_sh6W7-OnFOjpEPHbxxwYExh5gV-lpeBceCUctfcUpvrNM0J08gYpTPpgrdmkod8Kn82TgU-s0vZlPMJBz74wAv8ZE78t9L8i5mfumL_qRKF7oReiZUsuKvashXLtl1SMXZ1yQMtV7UYhifSS9Xqtm502dSNarmSTWE6KqkuqVxWJYmSFnVVkmoqVnIlDlrXUJd8lsYu8tVe-HAsTIwzd8uqqlaFlQPbeB0eRI7f8RrM9pptEbqM-WWYjxHq0pqY4l8sySTL3f-eF_j62ETG4Xvw7oiTlYoRRF_MwXZjStN1UlEP1B9NGudhofz1z3cBWegU_O-sElB_dRGB-qvLPwIAAP__aqyL6g">