aaron.ballman added a comment. Precommit CI still has a related failure, it seems.
================ Comment at: clang/lib/Sema/SemaExpr.cpp:17317-17319 + if (TInfo->getType()->isSpecificBuiltinType(BuiltinType::Float) || + TInfo->getType()->isSpecificBuiltinType(BuiltinType::Half)) PromoteType = Context.DoubleTy; ---------------- jcranmer-intel wrote: > aaron.ballman wrote: > > Hmmm... the existing code seems wrong to me because it's not paying any > > attention to `FLT_EVAL_METHOD`, but I think it probably should? CC > > @jcranmer-intel @zahiraam for opinions. > > > > Actually, I wonder if the correct approach here is to split > > `Sema::DefaultArgumentPromotion()` up so that we can calculate what the > > default argument promoted type is of the expression independent of > > performing the actual promotion, and call the promotion type calculation > > logic here? > C23 6.5.2.2p6 [draft N3096] says "trailing arguments that have type `float` > are promoted to `double`". `FLT_EVAL_METHOD` shouldn't need to apply here, > since it's largely about reflecting that things like x87 using 80-bit > precision internally, and not actual argument passing. Ah that's good to know, thank you! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156054/new/ https://reviews.llvm.org/D156054 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits