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

    <tr>
        <th>Summary</th>
        <td>
            clang asserts with ffp-contract=fast-honor-pragmas
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            floating-point
      </td>
    </tr>

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

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

<pre>
    When I use "#pragma STDC FP_CONTRACT DEFAULT" and compile with "-ffp-contract=fast-honor-pragmas", clang asserts.

```
float f(float a, float b, float c) {
    #pragma STDC FP_CONTRACT DEFAULT
 return a * b + c;
}
```

See:

https://godbolt.org/z/EqE6Kn6Wf
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMUl-r2z4M_TTKi0hx5LRJHvzQNg38-I1t7Hbcx-E4zp_NjTPbuaP79CNJ4W5jsIGRZSEdWTpHej90o9YC9ifYl5GcQ2-dkGNz_yLvxrqots1dPPd6xP9w9hqBCIhPTnY3iU_X8ozV-0_nd2-vH47nK5aX6vjxzRWIUI4NKnubBqPx2xD6pTJu2ylWdgxOqgC8bKUPcW9H6-IN0a_wZ1RGjh1K77ULfgesBHZ82AN7nPXZGisDtkD55smlenPrV1cBFQjZaatBRPyHGbZcp8PsRpQIdMQagU6ogD-QICv_-KvNPmkN_PhzpA9h8kuMKqCqs01tTdhZ1wFV34Gqy9fL4f_x8NxGjeBNwQsZaZFklLKCJ5xFvUiyhDeNlg3lujjwIt9TmmSqZVqnrVIyGgQxSlmeFEme7jnbLZlSNWlWa17UWQYp0zc5mJ0xL7eldzR4P2uRsDTnLDKy1saveiBaadgoAaJ1l8PYxZMdxrCE92XkxIIT13PnIWVm8MG_IochGC1-IXPTwl91EM3OiN_WNYR-rnfK3oCqpcXjiidnP2sVgKp1Eg9UPYZ5EfQjAAD__5wT3kw">