------- Comment #4 from dominiq at lps dot ens dot fr 2008-12-27 13:00 ------- If I remove the assert gfortran.dg/repack_arrays_1.f90 passes, while gfortran.dg/pr32601.f03 gives:
print *, c_loc(get_ptr()) ! { dg-error "has PRIVATE components" } 1 Error: Parameter 'get_ptr' to 'c_loc' at (1) must be either a TARGET or an associated pointer instead of /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:22.19: print *, c_null_ptr, t ! { dg-error "has PRIVATE components" } 1 Error: Derived type 'c_ptr' at (1) has PRIVATE components /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:22.24: print *, c_null_ptr, t ! { dg-error "has PRIVATE components" } 1 Error: Derived type 'c_ptr' at (1) has PRIVATE components /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:23.11: print *, t ! { dg-error "has PRIVATE components" } 1 Error: Derived type 'c_ptr' at (1) has PRIVATE components /opt/gcc/_gcc_clean/gcc/testsuite/gfortran.dg/pr32601.f03:25.25: print *, c_loc(get_ptr()) ! { dg-error "has PRIVATE components" } 1 Error: Derived type 'c_ptr' at (1) has PRIVATE components Note that I do not understand a single word of this private business: what can be the use of a PUBLIC derived type with PRIVATE components? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38536