tree 7f7666f3b3380f830181feee0743a4997b66a05e
parent eecd803750a1b0e81a6a76cb29dcd677b7b40271
author Gheorghe-Teodor Bercea <doru.bercea@amd.com> 1702910879 -0500
committer Copybara-Service <copybara-worker@google.com> 1702911071 -0800

[Clang][OpenMP] Fix mapping of structs to device (#75642)

Fix mapping of structs to device.

The following example fails:

```
#include <stdio.h>
#include <stdlib.h>

struct Descriptor {
  int *datum;
  long int x;
  int xi;
  long int arr[1][30];
};

int main() {
  Descriptor dat = Descriptor();
  dat.datum = (int *)malloc(sizeof(int)*10);
  dat.xi = 3;
  dat.arr[0][0] = 1;

  #pragma omp target enter data map(to: dat.datum[:10]) map(to: dat)

  #pragma omp target
  {
    dat.xi = 4;
    dat.datum[dat.arr[0][0]] = dat.xi;
  }

  #pragma omp target exit data map(from: dat)

 return 0;
}
```

This is a rework of the previous attempt:
https://github.com/llvm/llvm-project/pull/72410

GitOrigin-RevId: 4ef6587715bec4520332528c4a71fe5a9ac10477
