Description: This negative test case was derived from OpenMP test omp1/F2_6_1_5a.f90. On p. 85 of the OpenMP API Version 2.5 May 2005 line 22 states:
"* Allocatable arrays may not appear in a copyin clause." The structure struct1 is made up of an allocatable array a. The structure appears in a threadprivate directive and in a copyin clause. This error should probably be detected at compile-time. > gfortran -v Using built-in specs. Target: x86_64-suse-linux Configured with: ../xt-gcc-4.2.0/configure --prefix=/opt/gcc/4.2.0/snos --disable-nls --libdir=/opt/gcc/4.2.0/snos/lib --enable-languages=c,c++,fortran --with-gxx-include-dir=/opt/gcc/4.2.0/snos/include/g++ --with-slibdir=/opt/gcc/4.2.0/snos/lib --with-system-zlib --enable-shared --enable-__cxa_atexit x86_64-suse-linux Thread model: posix gcc version 4.2.0 20070514 (rpm:4) > cat bug2832.f90 ! Derived from OpenMP test omp1/F2_6_1_5a.f90 use omp_lib implicit none integer, parameter :: NT = 4 integer :: nThreads(NT) type structure_1 integer, allocatable :: a(:) end type structure_1 type(structure_1),save :: struc1 !$omp threadprivate(struc1) !$ call omp_set_dynamic(.true.) !$ call omp_set_num_threads(NT) allocate(struc1 % a(2)) struc1 % a(1) = 1 struc1 % a(2) = 2 !$omp parallel copyin(struc1) nThreads(omp_get_thread_num()+1) = struc1 % a(1) !$omp end parallel print *, nThreads deallocate(struc1 % a) END > ftn -O3 -fopenmp -o x bug2832.f90 /opt/xt-pe/2.1/bin/snos64/ftn: INFO: linux target is being used > aprun -n 1 ./x 1 0 0 0 Application 217647 resources: utime 0, stime 0 NOTE: A compile-time message rejecting the use of struc1 in copyin is expected. Or, the restriction imposed by the API version 2.5 should be ignored and the correct answer produced, which is four 1's. ------ Note: ftn is an alias for: /opt/gcc/4.2.0/bin/../snos/bin/gfortran -static -v -I/opt/xt-mpt/2.1/mpich2-64/GP/include -I/opt/xt-mpt/2.1/mpich2-64/GP/include -L/opt/xt-mpt/2.1/mpich2-64/GP/lib -I/opt/acml/3.6.1/gnu64/include -I/opt/xt-libsci/10.1.0/gnu/snos64/include -I/opt/xt-libsci/10.1.0/gnu/snos64/include/superlu -I/opt/xt-mpt/2.1/sma/P/include -L/opt/acml/3.6.1/gnu64/lib -L/opt/xt-libsci/10.1.0/gnu/snos64/lib -L/opt/xt-mpt/2.1/sma/P/lib -lmpichf90 -lsci -lacml -lsma -lmpichf90 -lmpich -lrt -D__CRAYXT_COMPUTE_LINUX_TARGET -D__TARGET_LINUX__ -fno-second-underscore -I/notbackedup/users/rsrel/rs64.DEV.070604.Mon/install/include -I/opt/xt-catamount/2.1/catamount/linux/include -I/opt/xt-service/2.1/include -L/notbackedup/users/rsrel/rs64.DEV.070604.Mon/install/lib/snos64 -L/opt/xt-pe/2.1/cnos/linux/64/lib -L/opt/xt-mpt/2.1/lib/snos64 -L/opt/xt-service/2.1/lib/snos64 -Wl,--start -lpct -lalpslli -lalpsutil -lportals -lpthread -Wl,--end -lgfortranbegin -lgfortran -lm -- Summary: STRUCTURE CONTAINING ALLOCATABLE ARRAY 'A' APPEARS IN COPYIN CLAUSE Product: gcc Version: 4.2.0 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=32467