<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/146847>146847</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [flang][OpenMP][debug] Build failure with duplicate variable mapping
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            abidh
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          abidh
      </td>
    </tr>
</table>

<pre>
    Please see the following program

```
PROGRAM test
  implicit none
  integer i
  type :: t1
    integer :: i1
  end type t1
  type(t1), dimension(10) :: v2
  call fn()
       
  CONTAINS 
  subroutine fn()
    !$omp target map(alloc: v2(:))
        v2(5)%i1 = 5
    !$omp end target
  end subroutine
end program test
```

When compiled with

flang -fc1 -emit-llvm  -debug-info-kind=standalone   -fopenmp

it fails with the following error:
```
conflicting debug info for argument
#dbg_declare(ptr %1, !41, !DIExpression(), !40)
!39 = !DILocalVariable(name: "v2", arg: 2, scope: !35, file: !4, line: 22, type: !9)
!41 = !DILocalVariable(name: "v2", arg: 2, scope: !35, file: !4, line: 23, type: !9)
error: failed to create the LLVM module
```

The reason seems to be that variable v2 is mapped twice and get 2 DeclareOp (and 2 local variables) in the outlined function for target region. This eventually maps to same location and cause this verification failure.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy8VE1v4zYQ_TX0ZWBDoiRbPujgrJtigWQTbIPtsaDEkTwtRQok5TT_vhhKTra7PRcQIPLxzefjUIVAg0VsRHUnpFQt6YuQUlTnjZrjxfkmQZvW6bfm2aAKCAER4gWhd8a4V7IDTN4NXo0iO_G3z9YvOz1_ffr16-kRIoYoshMAjZOhjiJYZ3FBbMQBPVDaxbcJQRQnUZwg5gn6oKw4LThavdBXHq-FrGMu5FHIT6BpRBvIWSHrPBPyeLO_ysTvlDHQ8ykbLJEAIK0-PX15OX3-8tuyC3Pr3RzJ4o98IXMhSzdOEJUfMMKoJiFrZYzr1lCy5rCc0ndBloMqwRXlIIozVD_5TBUmv-8Ff6QishMDa-tvHf6--SI7_X5BC50bJzKo4ZXiZcF7o-wA277LYYsjxa0x1xFgq7Gdhy3Z3m3_IqtFcQ5RWa2MswgA295NaMdpcUIRekUmJL8_3Aj03nku_N8pdc72hrrIlBQLOBb0zoPywzyiTUXIQrfDHxo7ozxrOkUPQlY5yypkXt4W58-__D15DKvKq_DMyJZ2C5kXx9TdxH5wnTLflCfVGvZr1Ygsk5CSBZFsrfzAUFqHzk0rIS8qRnoyN6DkvWElmJ746Qoup8f3BMr8f0mg-O8EbkIkqVBDdNB5VHEZ4YeHb48wOj0b_PnyvFwQPKrgLI_8GNi2ZTsV4brWAFcJFPjaT-z8lToEZTXwLEg4Lwo-TcBDYTVIMNyBd_PAY0k25eLmyMVo6GfbRXI2XYt1rjwO5OwOXi4UAK9o46yMeePAKa-gRky-kyGH6tQcOFkKcEVPPa1n3IfZ426jm0Ifi6PaYJMfqrwqarnPN5dG6bw47A8HXWWYYVGruisydThiWWVtX5cbamQmq-yQFXkmS5nv9i12Uu7zvlBFXctClBmOisyOp2rn_LChEGZs8nJfl4eNUS2asL64aRLXF9c3bLBt5yGIMjMUYvhwESma9EwvFtVZVHdPE9rH52WdxklUZ7ibyehbmcts6plfXRb9XTdWjOywmb1pLjFOIb1S90LeDxQvc7vr3CjkPYdff9vJuz-xi0Lep3KCkPdrRddG_hMAAP__5eXkyw">