scanon added a comment.

>> Looking at implementations of these functions, it looks like GNU libm 
>> doesn't raise inexact, but the bionic libm does. I think I'm leaning towards 
>> marking all of them as "fng" as it's the more cautious of the two.
>
> Hmm, bionic's behavior sounds a bit surprising. In the committed version, I 
> kept them fnc to keep the previous behavior for now. I'll double-check with 
> @scanon and potentially upload a follow-up patch.

As noted, this is only clarified in C23. Previous C standards did not specify 
whether or not these functions should set inexact, leading to some 
implementations choosing one behavior and others choosing the other. That said, 
the TS that clarified the behavior has been available for about a decade, so 
I'm mildly surprised that Bionic kept their existing behavior for so long.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129231/new/

https://reviews.llvm.org/D129231

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to