Loading
[flang][OpenMP] Detect DSA conflicts in nested loop constructs (#195323)
Follow-up to https://github.com/llvm/llvm-project/pull/194961 The fix from PR194961 did not detect explicit/predefined DSA conflicts on an iteration variable in a nested loop construct. For example, in a testcase inspired by Fujitsu 0165_0035.f90: ``` !$omp parallel do private(i) shared(j) do i=1,1 do j=1,1 !$omp parallel do default(none) shared(k) do k=1,1 end do !$omp end parallel do end do end do ``` the "shared(k)" was not flagged as incorrect. Adjust the fix to traverse the host-association chain until the symbol from the DSA clause is found.