rjmccall added a comment.

Thanks.  Just a bunch of fairly minor requests now.



================
Comment at: clang/include/clang/AST/Expr.h:3474
+  size_t offsetOfTrailingStorage() const;
+  size_t offsetOfTrailingStorage();
+
----------------
You don't need the non-const overload.


================
Comment at: clang/include/clang/AST/Expr.h:3719
+  /// Used to allocate the right amount of storage.
+  static unsigned sizeOfTrailingObjects(unsigned HasFPFeatures) {
+    return HasFPFeatures * sizeof(FPOptions);
----------------
Should `HasFPFeatures` be a `bool` everywhere you're passing it around?


================
Comment at: clang/lib/AST/Expr.cpp:4397
+                                           : sizeof(BinaryOperator);
+}
+
----------------
Please define this in the header.  You can just do:

```
inline size_t BinaryOperator::offsetOfTrailingStorage() const { ... }
```

after both of the classes are fully defined.


================
Comment at: clang/lib/Analysis/BodyFarm.cpp:120
+                                VK_RValue, OK_Ordinary, SourceLocation(),
+                                FPOptions::defaultWithoutTrailingStorage(C));
 }
----------------
These construction sites don't seem like appropriate uses of 
`defaultWithoutTrailingStorage`, which is an implementation detail of the AST 
nodes.  The right behavior here is for all of these places to use the default 
`FPOptions` from the language options, then let the AST figure out the right 
way to store that.  That happens to have the same effect currently as 
`defaultWithoutTrailingStorage`, but the latter should be able to change, while 
the right behavior for these places will remain the same.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76384



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

Reply via email to