riccibruno added inline comments.

================
Comment at: include/clang/AST/ExprCXX.h:4671
+  bool IsSatisfied;
+  SourceLocation RequiresKWLoc;
+  RequiresExprBodyDecl *Body;
----------------
You can stash these in the bit-field classes of `Stmt` to save some space.


================
Comment at: include/clang/AST/ExprCXX.h:4674
+  llvm::SmallVector<ParmVarDecl *, 2> LocalParameters;
+  llvm::SmallVector<Requirement *, 3> Requirements;
+  SourceLocation RBraceLoc;
----------------
Can you tail-allocate them ?


================
Comment at: include/clang/AST/ExprCXX.h:4703
+  }
+
+  SourceLocation getRequiresKWLoc() const { return RequiresKWLoc; }
----------------
If in general you don't strictly need to modify some internal state of an AST 
node, I think it would be better to not provide the corresponding method.


================
Comment at: include/clang/AST/ExprCXX.h:4715
+  SourceLocation getBeginLoc() const LLVM_READONLY { return RequiresKWLoc; }
+  SourceLocation getEndLoc() const LLVM_READONLY {
+    return RBraceLoc;
----------------
`LLVM_READONLY` is pointless here.


================
Comment at: include/clang/AST/ExprCXX.h:4722
+    return child_range(child_iterator(), child_iterator());
+  }
+};
----------------
You should also provide the const-qualified version.


Repository:
  rC Clang

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

https://reviews.llvm.org/D50360



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

Reply via email to