7.1.1 Встроенные типы
Для обеспечения того, чтобы в C и Fortran использовался ровно один и тот же тип и вид переменной, необходимо использовать именованные константы, определённые в модуле ISO_C_BINDING intrinsic. Этот модуль содержит именованные константы для параметров вида и символьные именованные константы для последовательностей escape в C. Список констант см. в ISO_C_BINDING.
Для логических типов обратите внимание, что стандарт Fortran гарантирует взаимодействие только между логическими типами C99’s _Bool и Fortran’s C_Bool-kind и 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-11.1.0/gfortran/Intrinsic-Types.html