fhahn added a comment. In D129231#3716363 <https://reviews.llvm.org/D129231#3716363>, @scanon wrote:
>>> 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. Hm, I think making this depend on the C standard version would be rather tricky, as I don't think there's precedence for that at the moment. For ceil/round it won't matter in practice, because we will lower them to the constrained intrinsics. 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