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

    <tr>
        <th>Summary</th>
        <td>
            Clang on Windows: diagnose undefined behavior: the argument shall be an expression of real floating type
        </td>
    </tr>

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

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

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

<pre>
    Sample code containing UB:
```
#include <math.h>
void f(void)
{
    fpclassify(0);
}
```
Clang on Linux diagnoses UB:
```
$ clang t0.c -std=c11 -pedantic -Wall -Wextra -c
error: floating point classification requires argument of floating point type (passed in 'int')
```
Clang on Windows doesn't:
```
# 13.0.0
$ clang.exe t0.c -std=c11 -pedantic -Wall -Wextra -c
<nothing>
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVUkuP2yAQ_jX4gmJhsBP74MNm0z31VlV7xjC2qTC4gLPJv-84j40UtSvVQnje8803dF6f2x9ymi1Q5fV6uSSNM26gP_dEvBB2IOyFbNntXFUujFN2wXgiXieZxnwk4tvVefRG057wehUIb24pu_1VoPj1s7IyRtOfMYytMWJ_Dzv8teOrlYjIO_rduOVEtZGD8xHilyBLqi5pieWKbmLSRBxUUdDNDFq6ZND4Lq3FG04pSLpR10wIwQcsS3vrZVqpmL1xid5AG4VGhBLg92ICYpBhWCbAAN8_p6TzjBzxesZM0NQ4VHbowPtBzT9GfTdO-49ItYfoMCF9sQ5aiJzlz5PncIL_nh436nwacYbPlX72y3QrdCMamSWTLLTPWFfS7ruhi9PQG4djdzDKo7lymkZ4EBbHFUGHFkfhNCOZcWUWeQwg7YPMlcZsCbYdU5rXLoS_4RlMGpcuV35Cxdrj_beZg_8FCll-MzEuEFGoyp2os7EVdbNjRVnouiuVaDrd6aYSAkTXVFzUKrOyAxtbUu0J5w4-6KUEyqQ6ZKbljHNWsrIoBGe7XFdbIRXbll1RqQoYKRlM0th8xZH7MGShvUDqliGi05qY4sO5PqjBAVzaYX25pNGHdp58KER26dxekP8BFg0cSw">