https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92643
--- Comment #1 from kargl at gcc dot gnu.org --- Copying ISO_Fortran_binding_15.c and ISO_Fortran_binding_15.f90 to /tmp. Edit ISO_Fortran_binding_15.c to find the header file. % ~/work/bin/gcc -c ISO_Fortran_binding_15.c % gfcx -o z ISO_Fortran_binding_15.f90 ISO_Fortran_binding_15.o % ./z Segmentation fault (core dumped) % ~/work/bin/gcc -c -g -o a.o ISO_Fortran_binding_15.c % gfcx -o z -g ISO_Fortran_binding_15.f90 a.o % ./z Segmentation fault (core dumped) % gdb831 ./z (gdb) run Starting program: /usr/home/kargl/tmp/z Program received signal SIGSEGV, Segmentation fault. main () at ISO_Fortran_binding_15.c:29 29 if (*(int *)dat.base_addr != 42) I think that there is a 32-bit vs 64-bit problem with pointers.