7.1.1 Встроенные типы
Для обеспечения того, чтобы в C и Fortran использовался ровно один и тот же тип и вид переменной, следует использовать именованные константы, определенные в ISO_C_BINDING модуле intrinsic. Этот модуль содержит именованные константы для параметров вида и символьные именованные константы для последовательностей экранирования в C. Список констант см. в ISO_C_BINDING.
Для логических типов обратите внимание, что стандарт Fortran гарантирует взаимную совместимость только между логическими типами C99's _Bool и логическими типами Fortran's C_Bool-вида, а C99 определяет, что true имеет значение 1, а false имеет значение 0. Использование любого другого целого значения с GNU Fortran's LOGICAL (с любым параметром вида) приводит к неопределенному результату. (Передача других целых значений, кроме 0 и 1, в GCC's _Bool также является неопределённой, если целое число не приводится явно или неявно к _Bool.)
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/Intrinsic-Types.html