[PATCH] D88913: [FPEnv] Use strictfp metadata in casting nodes

Serge Pavlov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 7 04:12:57 PDT 2020


sepavloff added inline comments.


================
Comment at: clang/lib/CodeGen/CodeGenFunction.cpp:139
+
+  switch (E->getStmtClass()) {
+  case Stmt::UnaryOperatorClass: {
----------------
Actually this is not correct, because subclass relations are not preserved in this case. For instance, `CompounsAssignmentOperator` is not handled, as it does not return `BinaryOperatorClass`.

I would recommend using `Expr::getFPFeaturesInEffect` or adding similar method.


================
Comment at: clang/lib/Sema/SemaExpr.cpp:700
   Res = ImplicitCastExpr::Create(Context, T, CK, E, nullptr, VK_RValue,
-                                 FPOptionsOverride());
+                                 CurFPFeatureOverrides());
 
----------------
Can cast of kind `CK_NullToPointer` or `CK_LValueToRValue` depend on FP options?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88913/new/

https://reviews.llvm.org/D88913



More information about the cfe-commits mailing list