<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/112233>112233</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang] Using address spaces in C/C++ assumes unspecified addresses are private instead of generic
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jhuber6
</td>
</tr>
</table>
<pre>
The OpenCL 2.0 rules allow us to implicitly convert specific address spaces into generic address spaces. This is also how languages like CUDA or OpenMP work. Using C/C++ for targeting the GPU should also allow this, but it is currently unnecessarily restrictive. See the example in https://godbolt.org/z/oa5Tob8v6.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkUk1u2zwQPQ21GUSQRlZkLbRIHOjbfEUDNDkARY6lSWhS4JBO09MXchwUbVZcEO_N-9MiPHuiQbX3qn0odE5LiMPLkieKt8UU7PvwtBB8X8kf_gcsK4jZkYB2LrxBFkgB-LQ6NpzcO5jgzxQTyEqGj2xAWxtJBGTVhgTYpwAzeYpf_kp4WliAN24JsIQ3cNrPWc8k4PiV4PD8cAchXsR8e4S3EF9LeBb2MxwUjgeF9wrv4RgiJB1nSttPWgj-e3wGWUJ29oP7Q3xaWBQeYMoJOG2HTY6R_OYje0-GRHRk9w6RJEU2ic9Uwg-iCyn91KfVEbCHJaVVVHOncFQ4zsFOwaUyxFnh-EvhGHT7FKb9-bYs7NDYvul1QUPd4b7HBrErlqGtdd3axhAeq95WXbs33W5qKt30tNf7ruABK9zVVb2rb7GrurI1pqZqV_dYad1bUruKTppd6dz5tB0vWCTTUNeITVM4PZGTS8-IZktWIW6Vx2ED3Ex5FrWrHEuSPxSJk7uM43BBtA_XvL_U-lcDWiSfSCD76w7IfiK26USCNfJZpy08SaQthOPnKooc3fBPoJyWPJUmnBSOm7Trc7PG8EImKRwvVkXheHV7HvB3AAAA__8QlfRy">