Anastasia marked an inline comment as done.
Anastasia added inline comments.


================
Comment at: test/CodeGenCXX/address-space-of-this.cpp:9
+//CHECK: call void @_ZN6MyTypeC1Ei(%struct.MyType* addrspacecast 
(%struct.MyType addrspace(10)* @m to %struct.MyType*), i32 123)
+MyType __attribute__((address_space(10))) m = 123;
----------------
rjmccall wrote:
> Sorry I didn't catch this before, but I don't see why this test is expected 
> to work.  We can't actually pass a pointer in address space 10 to that 
> constructor.
Ok, I have created a bug to follow up on this issues:
https://bugs.llvm.org/show_bug.cgi?id=41730

It seems that the check is missing here for allowing the address space 
conversions implicitly, but I am afraid if I add it now addr spaces will become 
less usable because implicit conversions can't be setup by the target yet. And 
everyone is using no address space as some sort of `__generic` but 
unofficially. :(

I have some thoughts about adding something like `__generic` address space to 
C++ that can either be resolved by the compiler or supported by HW. I think it 
might help to implement those cases correctly without modifying too much of 
code base. I just struggled to find enough bandwidth to send an RFC but I will 
try to progress on this asap.


Repository:
  rC Clang

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

https://reviews.llvm.org/D59988



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

Reply via email to