[clang] [llvm] [C++23] [CLANG] Adding C++23 constexpr math functions: fmin, fmax and frexp. (PR #88978)

Hubert Tong via llvm-commits llvm-commits at lists.llvm.org
Fri May 17 22:05:31 PDT 2024


================
@@ -14683,6 +14710,23 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) {
   default:
     return false;
 
+  case Builtin::BI__builtin_frexp:
----------------
hubert-reinterpretcast wrote:

The non-`__builtin_`-prefixed cases need to be added in as per @philnik777's comment (https://github.com/llvm/llvm-project/pull/88978#discussion_r1582059951). Same for the other two function families.

Some more thought is needed on how to handle the non-`__builtin_`-prefixed cases under non-C++23-or-higher language modes. The specific implications of those functions being non-`constexpr` under said modes (as required, for C++, by https://wg21.link/constexpr.functions) may determine the solution to apply in this PR.

https://github.com/llvm/llvm-project/pull/88978


More information about the llvm-commits mailing list