https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92482
--- Comment #2 from José Rui Faustino de Sousa <jrfsousa at gmail dot com> --- IMHO the point here is if interoperable procedures (bind(c)) are required to have arguments of interoperable type. My reading of 18.3.6 is that it is not required, most relevant for character type would be 18.3.6.2 (5) and (7). Which, like you write, imply the use of a C descriptor. If I understood it correctly the descriptor should be scalar (rank=0) and have "elem_len" equal to character length. The error in 10.0.0 is raised without using any flags and the warning in 9.1.0 requires -Wall -Wmaybe-uninitialized. Please notice that the problem shown by the "strg_print_2" procedure is without using "bind(c)". Thank you very much. Best regards, José Rui