<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54899>54899</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
start of array is mapped regardless of explicit map clause
</td>
</tr>
<tr>
<th>Labels</th>
<td>
openmp
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jdenny-ornl
</td>
</tr>
</table>
<pre>
I'm seeing unexpected behavior starting at @ye-luo's recent c1a6fe196d8c (D123093): the start of an array is mapped regardless of its explicit map clause. I can still reproduce at today's 82e5976b7dc2. I've tested while offloading to nvptx64.
For example, the following prints 1, but it used to print 0 before c1a6fe196d8c:
```
#include <omp.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
int arr[1000];
#pragma omp target data map(tofrom:arr[998:1])
{
printf("%d\n", omp_target_is_present(arr, omp_get_default_device()));
}
return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9U9FuqzAM_ZrwYg2FUFp44GFr76R9xRQSA5kCQUno1r-_DmzdrjRdKSIOx_Y5sZ3O6Vv7wsRpgoBo5gHWGT8WVBE1dDjKq3EeQpQ-JlBGYAd-wwe7OgoK4FHhHEEV8thj0Rx1rYCJ-lKIkjclEw0rHyGOuKcA14OcQXovb2ACTHJZiMfjIL22GEJyMDEASbBGmZg8QFm5BswBXkBRdIjGWopZvNOrwqQpOi1vm55aYNWcjt1JK5Ei6OcVIWJI93kfjUWi6K2TOl0nOpivS_w4HnLGL4w_7t9nujJ-yGmxyMR5k987a917ilm8mUlhkZBujSQXSJ1OuTYIONWtdx7_KQqV4ScDO_LPtR9FaWZlV43AyrOblnxk5Z_fsBC1cT_QRDhJM1PNkyn9oJIwNUpPfXik85VVT6y6UCuAnZ72KIDd2RNWcM4TXt4xYly8HCYJpASobwNG0DLK1A0iiq73bqIb7Qmapia72DnuOb6pYK9LT5FMCCYqzarzvJnnxPC6M7ya8Lp4DDRO5JlSf8IJ09jL1ab9ahRumZrP9UP36fJleoyrn4Hf0Tt2r3ym21I3ZSOzaKLF9ntA_zudv0xmtnrbjjEuIXVZPNMaTBzXLldUJvFs7fVre6ChfaPHRUcTwoqBjOpQN002tp3mTcV7qTWvZSH5sZI19nWpukPXC37KrOzQhjb1Uwi34DwtqYrVJTOt4ELwQ1EWdXEUPBeqQ94roaqqrivZ0aNFGhObJxG580Pm201Ptw6BQGtCDN-gDMEMM2K7z04m1zg6375pnOfbg_OzzTb57ab9LzEkUlo">