http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59577
Bug ID: 59577
Summary: OpenMP: ICE with type(c_ptr) in private()
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: 06needhamt at gmail dot com
CC: burnus at gcc dot gnu.org, jonathan.hogg at stfc dot ac.uk,
pascal22p at parois dot net, reijo.keskitalo at gmail dot
com,
spam.brian.taylor at gmail dot com
+++ This bug was initially created as a clone of Bug #51024 +++
Reported at
http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/5513dcf7bb4b9abc
The following program segfaults at
omp_add_variable (flags=10, decl=, ctx=) at
gcc/gimplify.c:5544
5544 if (TREE_CODE (t) != INTEGER_CST)
The dump looks OK:
test ()
{
void * alloc_fftinout;
#pragma omp parallel default(none) private(alloc_fftinout)
{
{
(void) 0;
}
}
}
Test case - compiled with "-fopenmp":
program test
use, intrinsic :: iso_c_binding
implicit none
type(C_PTR) :: alloc_fftinout
!$OMP PARALLEL default(none) &
!$OMP& private(alloc_fftinout)
!$OMP END PARALLEL
end program