================
@@ -94,6 +94,11 @@ bool Qualifiers::isTargetAddressSpaceSupersetOf(LangAS A,
LangAS B,
(A == LangAS::Default &&
(B == LangAS::cuda_constant || B == LangAS::cuda_device ||
B == LangAS::cuda_shared)) ||
+ // In HLSL, the this pointer for member functions is in the default
+ // address space. This causes problem if the structure is in
+ // hlsl_device. We want to allow casting from hlsl_device to default
+ // until a proper solution for that issue is found.
+ (A == LangAS::Default && B == LangAS::hlsl_device) ||
----------------
bogner wrote:
That's fair. I suppose having the implicit cast as a stopgap might be the best
short-term solution then. I'm assuming omitting this would mean that structs in
structured buffers would be disallowed in all backends, correct?
https://github.com/llvm/llvm-project/pull/127675
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits