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

    <tr>
        <th>Summary</th>
        <td>
            CSA seems not to model printf
        </td>
    </tr>

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

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

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

<pre>
    ```c
#include <stdio.h>
void main() {
  int a = 1;
  int *b;
  for (; a; a--)
    printf("NPD_FLAG\n") || *b;
}
```
Compiling it with `--analyze --analyzer-output text -Xclang -analyzer-config -Xclang widen-loops=true` resutl in: 
```bash
<source>:6:29: warning: Dereference of undefined pointer value (loaded from variable 'b') [core.NullDereference]
    printf("NPD_FLAG\n") || *b;
                            ^~
<source>:4:3: note: 'b' declared without an initial value
  int *b;
  ^~~~~~
<source>:5:3: note: Loop condition is true.  Entering loop body
  for (; a; a--)
  ^
<source>:6:5: note: Assuming the condition is false
    printf("NPD_FLAG\n") || *b;
    ^~~~~~~~~~~~~~~~~~~~
<source>:6:5: note: Left side of '||' is false
<source>:6:29: note: Dereference of undefined pointer value (loaded from variable 'b')
    printf("NPD_FLAG\n") || *b;
                            ^~
1 warning generated.
```
It seems that CSA does not model `printf`.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9VVFv2jAQ_jXOyykoiQmEhzxQoNWkqpq0l71NTnwBT8ZGttOu-_U7J9BBRatKnYZssO_k7-777mwaK59rNsvG0bJszbIlK7gyre4lAuMrH6Sykx3jm9H7aJWEvVCGFRUrFsDmN6MDQJkAgs6sIWf8wsqKZXNm6qyDeJzfgBi-0pSgTl6Ag6ND3RCgePi6_nF7v7xj5YpCFmPIFY1LUDZfHxcnNuN2ZfcHpZXZggrwpMIOyJWmwgj9_BvhZeVS24dDHyDgrwDp91YLOvPX21rTqe2L40lJNKm29uCJb3A9Eiw49H3QxJjxJbxKpxF-dzSRqLZ3LUZN-XJGk8jTiSfhDGUal2t02NE0LYLtoDcSO2VQwsGSNOjgUegeo4jaCkn2ztk9GZ0SjY72eUNzEKu8aa3DyUOv9RkqK9ef0hve-bByw-abq2SnNHkkaGzAQaUxU5BIwjoiEmtEpQBhSEcVlNAj13fa6RjvfFyLXb6OfU_lAyqspDCWwnmIhZwAbKLEsWdigaGhS_Kxzo2JvFXi8jzy0vt-HwOEHV5m0Ant8dOVuaLIx8eHGNxjF8DTLYjtGVttyCRW8pLEm81-Avpnnf5f2jk_XVLYokEnAsrJ1XfnC6mDuKeW2okAq29LkBZ9ZA17K1HHZ-iY5yw7QiRY57NZNeV5VS0SWXO54AuRBBU01hFiRIwYwR5hRoykd7rehRBfI3q_b2ls6R71zaS1e9po_Xj6SQ_O_sQ20FZRF6KnRVktqizZ1bNKVqUoci7arFwgx1k-xYo3gufzSpZFokWD2tf0ppCWBp9ggIi6lutE1UVWFHmeT3NikC0mBDPvuqyUHRd52UzZNEP659CTmMfEum3i6iGlpt96cmrlg__rFN6rrUEcwhG-6OllcPUd2q5z-Jxn-TQZ4tdD_n8ADCDqYg">