LukeZhuang added inline comments.
================ Comment at: clang/lib/Sema/SemaChecking.cpp:1805 + const Expr *ProbArg = TheCall->getArg(2); + if (ProbArg->EvaluateAsFloat(Confidence, Context)) { + double P = Confidence.convertToDouble(); ---------------- LukeZhuang wrote: > rsmith wrote: > > What rules should be applied here? Do we just want to allow anything that > > we can evaluate (which might change over time), or do we want to use the > > underlying language's notion of floating-point constant expressions, if it > > has them? > Thank you for commenting. I just read the llvm::Expr document and found that > it just have `isIntegerConstantExpr` without a float-point version. Under > `EvaluateAsFloat` it says "Return true if this is a constant which we can > fold and convert to a floating point value", thus I use this function. Is > there any better function to achieve this goal? Hi, and I didn't find other builtin functions ever handle case like this, is there any example I could refer to? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79830/new/ https://reviews.llvm.org/D79830 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits