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

    <tr>
        <th>Summary</th>
        <td>
            `alpha.core.BoolAssignment` causes failure of `assert(IsUnsigned == RHS.IsUnsigned && "Signedness mismatch!")` at APSInt.h:179
        </td>
    </tr>

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

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

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

<pre>
    Apparently the analyzer mixes signed and unsigned `APSInt` values in a `<=` comparison which causes an assertion failure. I found this issue while analyzing a preprocessed version of `unicode.c` from the ruby project, but it was easy to extract a short reproducer: https://github.com/Ericsson/llvm-project/commit/b1e4ddbfad5baa1ba243a38653aa8c39715371b0

This bug is probably introduced by the recent changes to `BoolAssignment` and/or the modeling of `__builtin_mul_overflow`, because if I understand correctly @steakhal was able to analyze the same file with a clang version that was probably a bit older than the fresh main that I'm using now. 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8U0-v4jYQ_zTmMmrkOAHCIQd2Keq7VFVfe34a2xPi1rGRx4aln75yoK-VVuoFEVue-f1FZncJRKPYfhHb0wZLnmMaf8bL4xQD5o2O9jEer1dMFLJ_QJ4JMKB__EUJFveNGNYJFjBYKOH1IXby-Mv7W8hiJ-GGvhCDC4D1QnRfRXeqFyYuV0yOY4D77MwMBgsTAwZAZkrZxQATOl8SNfAGUyzBQp4dg2MuVF_5f_C4cAGEa6JrioaYycKNEtcRcap7S3AmWmpMXT2luKxkUtEPuKb4B5ks1FfQJYPLcEcGQn5AjkDfckKTAYHnmDKsK2wxlER3hDnnK4vuKNRZqPPF5bnoxsRFqPOPyRnmGIQ6e39bfvhcczZxWVz9o1vqrdUT2q1GbDWqvsNu2G07xMF0h3277fatlkKehDw-f3-rAuhyAccVuUbtH-BCfoKyoJ82JTIUMpgZw4W4EhE7-SVGf1xNX-jpDgYr1Dmm9c0SLfmq5FOyjw9dnM8ufCzFf8QbpcnHe_WwKkWrXeAmeIMSLCXONQQmpkSmhkX0kjPhnzP6VVDUniqOV4DWjYwLwVRtvLs8A4LxGC6f1uUZn2Z8EkXQLkP0lipkDOuUKRHPsKB7vXgTar9A4UolxHsDGzt29tAdcENju1eD7HdDJzfzaIbdtm9bTb3thwMp1WplDoMlkoOUZDZuVFL1rZR920mphsZu7Vab7bQjazrZouglLeh8Uz1uYrps1nCObdu2_X7jUZPntWBKBbo_oyuUqn1L4xoMXS4seukdZ_53THbZ0yh2Ev11xsbERM33_r0686rJy7hnfYQa3vj3z052J9Gd4Nef3pv_nqqdUDsQSr2vB4GYYXG8YDazUG0Fqg5rUDI8O93Moju2-8OmJD_-T_wrke-jv9Jnoc4vfW6j-jsAAP__clSDnA">