Issue 146847
Summary [flang][OpenMP][debug] Build failure with duplicate variable mapping
Labels flang
Assignees abidh
Reporter abidh
    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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to