------- 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