public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "longb at cray dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/42866] New: ICE for REDUCTION with ALLOCATABLE array as variable on SECTIONS
Date: Mon, 25 Jan 2010 21:39:00 -0000 [thread overview]
Message-ID: <bug-42866-14710@http.gcc.gnu.org/bugzilla/> (raw)
For this test case:
program F03_2_9_3_6_2c
! derived from OpenMP test omp3f/F03_2_9_3_6_2c.f90
! REFERENCES
! OpenMP 3.0, p. 100, lines 10-12
! OpenMP 3.0, p. 316, lines 18-22
use omp_lib
implicit none
integer, parameter :: NT = 4
integer :: thread_num1, thread_num2, thread_num3
integer, allocatable :: thread_num_sums(:)
integer :: i
call omp_set_dynamic(.false.)
call omp_set_num_threads(NT)
allocate(thread_num_sums(NT))
thread_num_sums = 0
!$omp parallel
!$omp sections reduction(+:thread_num_sums)
!$omp section
thread_num_sums = omp_get_thread_num()
thread_num1 = omp_get_thread_num()
!$omp section
thread_num_sums = omp_get_thread_num()
thread_num2 = omp_get_thread_num()
!$omp section
thread_num_sums = omp_get_thread_num()
thread_num3 = omp_get_thread_num()
!$omp end sections
!$omp end parallel
do i = 1, NT
if (thread_num_sums(i) /= thread_num1+thread_num2+thread_num3) then
write (*,fmt="('FAIL - thread_num_sums(',i2, ') == ',i10, &
' (expected',i2,')')") &
i, thread_num_sums(i), thread_num1+thread_num2+thread_num3
else
write (*,fmt="('thread',i2,' thread_num_sums(i) = ',i2)") &
i, thread_num_sums(i)
end if
end do
end program F03_2_9_3_6_2c
the compiler aborts:
> gfortran -fopenmp test.f90
test.f90: In function 'f03_2_9_3_6_2c':
test.f90:20: internal compiler error: in single_pred_edge, at basic-block.h:658
Please submit a full bug report,
with preprocessed source if appropriate.
Additional comment from the OpenMP testers:
The GNU gfortran compiler gets an internal error when compiling this
test case when the REDUCTION appears on a SECTIONS.
The OpenMP API version 3 (May 2008) p. 316 lines 18-20 states:
"In Version 3.0, Fortran allocatable arrays may appear in ...
reduction ... clauses."
The API also states on p. 100 line 10-23:
"An original list item with the ALLOCATABLE attribute must be in the
allocated state at entry to the construct containing the reduction clause.
Additionally, the list item must not be deallocated and/or allocated
within the region."
--
Summary: ICE for REDUCTION with ALLOCATABLE array as variable on
SECTIONS
Product: gcc
Version: 4.4.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: longb at cray dot com
GCC build triplet: x86_64-suse-linux
GCC host triplet: x86_64-suse-linux
GCC target triplet: x86_64-suse-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42866
next reply other threads:[~2010-01-25 21:39 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-25 21:39 longb at cray dot com [this message]
2010-01-26 9:15 ` [Bug fortran/42866] " jakub at gcc dot gnu dot org
2010-01-26 9:48 ` jakub at gcc dot gnu dot org
2010-01-26 9:52 ` jakub at gcc dot gnu dot org
2010-01-26 9:56 ` jakub at gcc dot gnu dot org
2010-04-20 11:27 ` jakub at gcc dot gnu dot org
2010-04-20 11:33 ` jakub at gcc dot gnu dot org
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-42866-14710@http.gcc.gnu.org/bugzilla/ \
--to=gcc-bugzilla@gcc.gnu.org \
--cc=gcc-bugs@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).