Commit 5a5332d
committed
Add lexical scopes for do concurrent loops
A problem occurs in code that compiles a do concurrent loop
as a parallel OpenMP loop with a collapse clause, like this:
!$omp do collapse(2)
do concurrent (i=1:m, j=1:n)
a(i,j) = 1
enddo
With the collapse clause, parallel code generation for this loop (nest)
is missing the upper scope label. This would likely cause problems for
as yet unimplemented parallel code generation. Without parallelization
but with -g the missing label causes an internal compiler error when
DWARF generation assumes that the scope labels are present and valid.
The fix for this problem is to propagate scoping information in routine
collapse_add. (semutil.c)
Std dumps are also updated to include lexical block syms. (dump.c)1 parent cc9495e commit 5a5332d
2 files changed
+6
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2256 | 2256 | | |
2257 | 2257 | | |
2258 | 2258 | | |
| 2259 | + | |
| 2260 | + | |
2259 | 2261 | | |
2260 | 2262 | | |
2261 | 2263 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5585 | 5585 | | |
5586 | 5586 | | |
5587 | 5587 | | |
5588 | | - | |
| 5588 | + | |
5589 | 5589 | | |
5590 | 5590 | | |
5591 | 5591 | | |
| |||
5668 | 5668 | | |
5669 | 5669 | | |
5670 | 5670 | | |
5671 | | - | |
| 5671 | + | |
5672 | 5672 | | |
| 5673 | + | |
| 5674 | + | |
5673 | 5675 | | |
5674 | 5676 | | |
5675 | 5677 | | |
| |||
0 commit comments