https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79484
--- Comment #3 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- Using LOC is not the right way to do these things. You should use bind(c) on the fortran side. I think you can google help with this. Power8 systems are less forgiving then others. I dont get any errors on my system here which is x86_64 linux. Also ask on comp.lang.fortran and explain what you are actually trying to do. You do not need your derived type at all to pass arguments to a C function.