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