jhuber6 added a comment.

In D151087#4361081 <https://reviews.llvm.org/D151087#4361081>, @arsenm wrote:

> They bypass all semantic checks. For example if you declare something as 
> address space 4, it will let you write to it unlike __constant__. It will let 
> you place stack objects in globals and don't interact correctly with address 
> space typed pointers in builtins (and any other context where you would want 
> to interact with the matching language addrspace). Don't think sizeof works 
> as you would expect either. Whatever is happening is not by design

I'm not sure how much work it would be to line up the numbers with the 
equivalent OpenCL type using the target info, or if that would break anything. 
However, I think this is out of scope, because even if we did have such 
semantic checks we'd still want to be able to `reinterpret_cast` on them in C++ 
which currently isn't allowed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D151087

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

Reply via email to