dexonsmith added inline comments.

================
Comment at: clang/include/clang/AST/APValue.h:405
     assert(isInt() && "Invalid accessor");
-    return *(APSInt*)(char*)Data.buffer;
+    return *(APSInt *)(char *)&Data;
   }
----------------
shafik wrote:
> I notice that in `ASTTypeTraits.h` we use `reinterpret_cast` while here we 
> revert to C-style casts.
Yes, this old code probably predates C++11. It'd be nice to fix it, but that 
seems out of scope for this patch.


================
Comment at: clang/include/clang/AST/APValue.h:511
     assert(isArray() && "Invalid accessor");
-    return ((const Arr*)(const void *)Data.buffer)->NumElts;
+    return ((const Arr *)(const void *)&Data)->NumElts;
   }
----------------
shafik wrote:
> What is it `char *` in some cases and `void*` in others?
> What is it `char *` in some cases and `void*` in others?

Agreed it's inconsistent! I'd have to guess the original authors here had a 
different ideas about which type was more fundamental.


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

https://reviews.llvm.org/D92512

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

Reply via email to