Tyker added inline comments.

================
Comment at: clang/include/clang/AST/ASTContext.h:275
-  /// Used to cleanups APValues stored in the AST.
-  mutable llvm::SmallVector<APValue *, 0> APValueCleanups;
-
----------------
aaron.ballman wrote:
> Why are you getting rid of this? It seems like we would still want these 
> cleaned up.
when i added APValueCleanups i wasn't aware that there were a generic system to 
handle this. but with this patch APValue a cleaned up using the generic 
ASTContext::addDestruction.


================
Comment at: clang/include/clang/AST/TextNodeDumper.h:149
 
-  const ASTContext *Context;
+  const ASTContext *Context = nullptr;
 
----------------
aaron.ballman wrote:
> Good catch -- this pointed out a bug in the class that I've fixed in r372323, 
> so you'll need to rebase.
i took a look at the revision. there is a big difference is the quality of 
output between APValue::dump and APValue::printPretty. i think it is possible 
to come quite close to printPretty's output even without the ASTContext. this 
would require having a default PrintingPolicy and improving dump

in this patch i was relying on the -ast-dump output for testing. i would need 
to find an other testing strategy or make the improvement to APValue::dump 
first.


================
Comment at: clang/lib/AST/APValue.cpp:176
+      (DataSize - sizeof(MemberPointerBase)) / sizeof(CXXRecordDecl *);
+  typedef CXXRecordDecl *PathElem;
   union {
----------------
aaron.ballman wrote:
> Why is this no longer a pointer to `const`?
when imporing or deserializing, we reserve the space for elements and then 
import/deserialize element directly in place. so the buffer storing them is not 
const. that said i saw that the normal construction cast away the const.


================
Comment at: clang/lib/AST/APValue.cpp:748
 
+APValue::LValuePathEntry *APValue::getLValuePathPtr() {
+  return ((LV *)(char *)Data.buffer)->getPath();
----------------
aaron.ballman wrote:
> Can this function be marked `const`?
this function gives access to non-const internal data. this function is private 
so the impact is quite limited.


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

https://reviews.llvm.org/D63640



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

Reply via email to