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=<optimized out>, ctx=<optimized out>) 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

Reply via email to