[Bug fortran/38536] ICE with C_LOC in resolve.c due to not properly going through expr->ref
dominiq at lps dot ens dot fr
gcc-bugzilla@gcc.gnu.org
Sat Dec 27 13:02:00 GMT 2008
------- 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
More information about the Gcc-bugs
mailing list