[PATCH] D85920: [FPEnv][AST] WIP!!! For casts, keep FP options in trailing storage of CastExpr

Kevin P. Neal via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 13 11:46:16 PDT 2020


kpn created this revision.
kpn added reviewers: rjmccall, mibintc, shafik, sepavloff.
kpn added a project: clang.
Herald added subscribers: cfe-commits, jfb, martong.
kpn requested review of this revision.

This change allows FP options to be in the trailing storage of CastExpr. Needed for proper emitting of uitofp/sitofp later. The implementation is based on BinaryOperator and CallExpr.

THIS IS A WORK IN PROGRESS. I'm opening this now to get feedback on my understanding of how the cast classes are used. I'm not sure I have it correct and would appreciate more knowledgeable eyes on it.

Tests are still needed,  Sema needs work, a number of other pieces are missing. Notes to myself need to be removed, etc.

Also, I've included as much context as I could. There's a 2MB limit on patches so I squeeked in under the wire with 1.9MB.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D85920

Files:
  clang/include/clang/AST/Expr.h
  clang/include/clang/AST/ExprCXX.h
  clang/include/clang/AST/ExprObjC.h
  clang/include/clang/AST/Stmt.h
  clang/lib/AST/ASTImporter.cpp
  clang/lib/AST/Expr.cpp
  clang/lib/AST/ExprCXX.cpp
  clang/lib/Analysis/BodyFarm.cpp
  clang/lib/CodeGen/CGStmtOpenMP.cpp
  clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  clang/lib/Sema/Sema.cpp
  clang/lib/Sema/SemaCast.cpp
  clang/lib/Sema/SemaDecl.cpp
  clang/lib/Sema/SemaDeclCXX.cpp
  clang/lib/Sema/SemaExpr.cpp
  clang/lib/Sema/SemaExprCXX.cpp
  clang/lib/Sema/SemaExprObjC.cpp
  clang/lib/Sema/SemaInit.cpp
  clang/lib/Sema/SemaLambda.cpp
  clang/lib/Sema/SemaObjCProperty.cpp
  clang/lib/Sema/SemaOpenMP.cpp
  clang/lib/Sema/SemaOverload.cpp
  clang/lib/Sema/SemaStmt.cpp
  clang/lib/Sema/SemaTemplate.cpp
  clang/lib/Serialization/ASTReaderStmt.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85920.285443.patch
Type: text/x-patch
Size: 61593 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200813/883fd849/attachment-0001.bin>


More information about the cfe-commits mailing list