http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50269
--- Comment #6 from Rich Townsend <townsend at astro dot wisc.edu> 2013-04-01 22:24:35 UTC --- (In reply to comment #4) > FIXED on the 4.9 trunk. Are we sure? When running the code example given in comment #1, I get a segfault. Moreover, the following subroutine won't compile when using the '-std=f2008' flag: subroutine test_contig (a) use ISO_C_BINDING real, intent(in), contiguous, target :: a(:) type(C_PTR) :: b b = C_LOC(a) end subroutine test_contig The error message is: test_contig.f90:9.12: b = C_LOC(a) 1 Error: TS 29113: Noninteroperable array at (1) as argument to C_LOC: Only explicit-size and assumed-size arrays are interoperable My understanding of the F2008 standard is that assumed-shape arrays with the contiguous attribute are interoperable -- hence, I'm not sure this error message is correct. If I change the std flag to f2008ts, then the routine compiles OK; but the TS extension shouldn't be required here. gfortran -v: Using built-in specs. COLLECT_GCC=/Applications/madsdk/bin/gfortran.exec COLLECT_LTO_WRAPPER=/Applications/madsdk/libexec/gcc/x86_64-apple-darwin11.4.2/4.9.0/lto-wrapper Target: x86_64-apple-darwin11.4.2 Configured with: ./configure CC='gcc -D_FORTIFY_SOURCE=0' --build=x86_64-apple-darwin11.4.2 --prefix=/Applications/madsdk --with-gmp=/Applications/madsdk --with-mpfr=/Applications/madsdk --with-mpc=/Applications/madsdk --enable-languages=c,c++,fortran --disable-multilib Thread model: posix gcc version 4.9.0 20130401 (experimental) (GCC)