<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">