riccibruno added a comment.

> This change allow a CallExpr to have optional FPOptionsOverride object,

Should this be `CastExpr` instead?

> stored in trailing storage. The implementaion is made similar to the way
> used in CallExpr.

Nit, but that's not really similar. In the `CallExpr` case the trailing objects 
are directly managed by `CallExpr` without using `TrailingObjects` in the 
sub-classes.



================
Comment at: clang/include/clang/AST/Expr.h:3471
 
+  /// Return a pointer to the trailing FPOptions.
+  FPOptionsOverride *getTrailingFPFeatures();
----------------
Can you document that `hasStoredFPFeatures()` must  be true as a pre-condition?


================
Comment at: clang/include/clang/AST/Expr.h:3612
 
+  unsigned numTrailingObjects(OverloadToken<CXXBaseSpecifier *>) const {
+    return path_size();
----------------
Here and elsewhere: `numTrailingObjects` is not part of the public interface.


================
Comment at: clang/include/clang/AST/ExprCXX.h:475
       : CXXNamedCastExpr(CXXDynamicCastExprClass, ty, VK, kind, op, pathSize,
-                         writtenTy, l, RParenLoc, AngleBrackets) {}
+                         false, writtenTy, l, RParenLoc, AngleBrackets) {}
 
----------------
`/*frob=*/false` here and elsewhere.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D85960

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to