bolshakov-a added inline comments.

================
Comment at: clang/include/clang/AST/ASTContext.h:3036
     if (!std::is_trivially_destructible<T>::value) {
-      auto DestroyPtr = [](void *V) { static_cast<T *>(V)->~T(); };
-      AddDeallocation(DestroyPtr, Ptr);
+      auto DestroyPtr = [](void *V) { ((T *)V)->~T(); };
+      AddDeallocation(DestroyPtr, (void *)Ptr);
----------------
erichkeane wrote:
> This change is weird... what is going on here?
Here is not very beautiful attempt to workaround const-ness of 
`TemplateArgument::V::Value` pointer passed here from the added 
`TemplateArgument` constructor. The change in this line isn't acually needed 
and made only for consistence with the next line, I think. Alternatively, I can
1) refactor `addDestruction` and `AddDeallocation` to work with pointers to 
constants, or
2) add `const_cast` to `AddDeallocation` call in the next line, or
3) make `TemplateArgument::V::Value` pointer non-const.

I'm biased to the first variant.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140996

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits] ... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Aaron Ballman via Phabricator via lldb-commits
    • [Lldb-comm... Erich Keane via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Aaron Ballman via Phabricator via lldb-commits
    • [Lldb-comm... Shafik Yaghmour via Phabricator via lldb-commits
    • [Lldb-comm... Shafik Yaghmour via Phabricator via lldb-commits
    • [Lldb-comm... Shafik Yaghmour via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Roy Jacobson via Phabricator via lldb-commits
    • [Lldb-comm... Erich Keane via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits
    • [Lldb-comm... Andrey Ali Khan Bolshakov via Phabricator via lldb-commits

Reply via email to