sepavloff added a comment. In D126364#3540673 <https://reviews.llvm.org/D126364#3540673>, @efriedma wrote:
> For FENV_ROUND, I think we should try to stick to the standard as closely as > possible in Sema; since the standard models FENV_ROUND as a separate state, > Sema should also model it as a separate state. I try to figure out the difference between rounding mode as specified by FENV_ROUND and that represented by `Sema::CufFPFeatures`. The standard uses two notions for rounding mode: - dynamic rounding mode, which is actually bits in a control register, and - constant rounding mode, which is used for floating-point operators, implicit conversions and so on. Dynamic rounding mode is set/queried by fegetround/fesetround/FLT_ROUNDS. It is unknown at compile time except that in default FP mode it is expected to be FE_TONEAREST. What compiler can know is constant rounding mode, it is just the mode set by pragma FENV_ROUND. It looks like `Sema::CufFPFeatures` is exactly what FENV_ROUND controls. Do I miss something? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126364/new/ https://reviews.llvm.org/D126364 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits