------- Comment #13 from rguenth at gcc dot gnu dot org  2010-01-13 11:37 
-------
Single-file testcase:

  subroutine loop_list(list)
    integer, intent(in), dimension(:) :: list
    integer :: ii
    !$ integer :: chunk_size
    !$ chunk_size = 4
    !$OMP PARALLEL DO SCHEDULE(dynamic,chunk_size)
    do ii=1,size(list)
       call do_things(list, ii)
    end do

  end subroutine loop_list

  subroutine do_things(list, index)
    integer, intent(in),dimension(:) :: list
    integer, intent(in) :: index
    print *,size(list),index
  end subroutine do_things

program list_use
  implicit none

  integer, dimension(10) :: a_list

  a_list = 1
  call loop_list(a_list)
end program list_use


It is OPEN-MP lowering that during remapping of the domain type remaps
the upper gimplified bound D.1599 to error_mark_node in omp_copy_decl.

#0  omp_copy_decl (var=0x7ffff7fcfdc0, cb=0x17a2170)
    at /space/rguenther/src/svn/trunk/gcc/omp-low.c:1073
#1  0x0000000000cefd84 in remap_decl (decl=0x7ffff7fcfdc0, id=0x17a2170)
    at /space/rguenther/src/svn/trunk/gcc/tree-inline.c:283
#2  0x0000000000cf48d2 in copy_tree_body_r (tp=0x7ffff5adcce8, 
    walk_subtrees=0x7fffffffc640, data=0x17a2170)
    at /space/rguenther/src/svn/trunk/gcc/tree-inline.c:968
#3  0x0000000000c24389 in walk_tree_1 (tp=0x7ffff5adcce8, 
    func=0xcf46af <copy_tree_body_r>, data=0x17a2170, pset=0x0, lh=0)
    at /space/rguenther/src/svn/trunk/gcc/tree.c:9978
#4  0x0000000000cf15c5 in remap_type_1 (type=0x7ffff7fce498, id=0x17a2170)
    at /space/rguenther/src/svn/trunk/gcc/tree-inline.c:409
...
#9  0x0000000000cf1ad3 in remap_type (type=0x7ffff7fce3f0, id=0x17a2170)
    at /space/rguenther/src/svn/trunk/gcc/tree-inline.c:473
#10 0x00000000008bbfa8 in fixup_remapped_decl (decl=0x7ffff7fc5f00, 
---Type <return> to continue, or q <return> to quit---
    ctx=0x17a2170, private_debug=0 '\000')
    at /space/rguenther/src/svn/trunk/gcc/omp-low.c:1019
#11 0x00000000008bec7c in scan_sharing_clauses (clauses=0x7ffff5adaa00, 
    ctx=0x17a2170) at /space/rguenther/src/svn/trunk/gcc/omp-low.c:1497
#12 0x00000000008bfe8c in scan_omp_parallel (gsi=0x7fffffffd770, outer_ctx=0x0)
    at /space/rguenther/src/svn/trunk/gcc/omp-low.c:1660
#13 0x00000000008c14dd in scan_omp_1_stmt (gsi=0x7fffffffd770, 
    handled_ops_p=0x7fffffffd6d7 "\001", wi=0x7fffffffd9f0)
    at /space/rguenther/src/svn/trunk/gcc/omp-low.c:1980
#14 0x000000000080e48f in walk_gimple_stmt (gsi=0x7fffffffd770, 
    callback_stmt=0x8c132f <scan_omp_1_stmt>, 
    callback_op=0x8c1204 <scan_omp_1_op>, wi=0x7fffffffd9f0)
    at /space/rguenther/src/svn/trunk/gcc/gimple.c:1586


I can easily deal with error_mark_node appearing there in
iterative_hash_gimple_type but I wonder if the above is intended.

Jakub?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-01-13 11:37:29
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42665

Reply via email to