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

    <tr>
        <th>Summary</th>
        <td>
            FLT_EVAL_METHOD = 2 is not honored for floating-point constants
        </td>
    </tr>

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

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

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

<pre>
    The ISO C17 standard says in 5.2.4.2.2p9, when `FLT_EVAL_METHOD` is 2: "evaluate all operations and constants to the range and precision of the long double type." (note the word "constants"). But Debian clang version 18.1.3 (1) does not behave that way:

```
#include <stdio.h>
#include <float.h>

int main (void)
{
  printf ("FLT_EVAL_METHOD = %d\n", FLT_EVAL_METHOD);
 printf ("%La\n%La\n", 1e-8L, (long double) 1e-8);
  printf ("%a\n%a\n", (double) 1e-8, (double) 1e-8f);
  return 0;
}
```
gives with `-m32 -std=c17` on x86_64:
```
FLT_EVAL_METHOD = 2
0xa.bcc77118461cefdp-30
0xa.bcc77118461dp-30
0x1.5798ee2308c3ap-27
0x1.5798eep-27
```
instead of
```
FLT_EVAL_METHOD = 2
0xa.bcc77118461cefdp-30
0xa.bcc77118461cefdp-30
0x1.5798ee2308c3ap-27
0x1.5798ee2308c3ap-27
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0lM9v6ygQx_-a8WUUyx788-BDmzTalbp6h632WmEzjlk5YBmcvP73K9w2bfJy2MuTIoL5wocvwzDSOX0wzA3kj5DvIrn4wc7NSZsuLfs5aq16a14Gxj___oHbtETnpVFyVujkm0NtMI8pzmKKaaqBtnge2CAUyf755fXpn4fn17-eXv74sYMiQe2QQDwgEPFJjov0jHIc0U48S6-tcSiNws6asIl36C36gXGW5sCrNM3caaetQduv0mjNAZVd2pHRv00cAxECVcZ6Xiec7azChhcoEAHVMT4uHnfcammwG6U54InnlZxWcRqLAEmBalSWHRrrseVBngJUejzLNxAPkOwg-WyL5OP3_klCm25cFCOIrfNK23gA8XRP7Ucr_Xd1bbXxeJTaBCMnqxVQ_SGXj-8dxGnWxvdhBhDdBBxB7BAoV5BvzXroLd7eCdUgPmFXLKD8Wb4vvHRWQsqb6jl0gKpvsQ-BCtIV8RfkJ_E7EKi6RdwZ7K_BM_tlNphchqDc3b2Ggz6xw7P2Q0jJzVEQbpxXIHZdWoaUtAZ_VsVrkX1d5zXhXlTpXUp-yrjturJM0yor0o57NW1Ecle8UtI4L-uKmURSdUJOGypvpa-xGz_aOM9Soe1_p91b8X84_kW6OItUI1Qtahlxk5apoJrKMouGRpSSOSvbKiuSOsnarq2rPs8lyZ6KUshIN5RQlmRpkVaiFlnMhSq7rG5TSlJV5S1kCR-lHuNxPB1jOx8i7dzCTVXVeRGNsuXRrZWNyPAZVzEkXr6L5ias2bTLwUGWjNp590Xx2o_c3A1mqGKhHAzW2JkV9nbG9QVrc9hMNjzbS62JlnlsBu8nF9KL9kD7g_bD0sadPQLtw34ff5tptv9y54H2q0sHtF9P8V8AAAD__6Wqleo">