https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96255

--- Comment #17 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
After some prowling through verious pointers, I finally found where the
iterator variables are in the symtree.

for   do concurrent (integer :: i=1:2, j=1:3, k=2:4)

in gfc_resolve_code.

(gdb) p *code.ext.iterator->var->symtree
$4 = {priority = 33488, left = 0x0, right = 0x35020f0, name = 0x7fffe947f1d0
"i", 
  ambiguous = 0, n = {sym = 0x3501450, uop = 0x3501450, common = 0x3501450, tb
= 0x3501450, 
    omp_udr = 0x3501450}, import_only = 0}
(gdb) p *code.ext.iterator->var->symtree->right
$5 = {priority = 23380, left = 0x3501ae0, right = 0x0, name = 0x7fffe947f1f0
"k", 
  ambiguous = 0, n = {sym = 0x3501f80, uop = 0x3501f80, common = 0x3501f80, tb
= 0x3501f80, 
    omp_udr = 0x3501f80}, import_only = 0}
(gdb) p *code.ext.iterator->var->symtree->right->left
$6 = {priority = 13327, left = 0x0, right = 0x0, name = 0x7fffe947f1e0 "j",
ambiguous = 0, 
  n = {sym = 0x3501970, uop = 0x3501970, common = 0x3501970, tb = 0x3501970, 
    omp_udr = 0x3501970}, import_only = 0}

We often say walking, I think hopping would be more accurate. ;)

Reply via email to