Приостановил ли IEEE_UNDERFLOW_FLAG мой код fortran? - PullRequest
0 голосов
/ 17 июня 2020

Мой код fortran приостанавливается в случайных точках, и мне интересно, связано ли это с флагами IEEE_UNDERFLOW_FLAG IEEE_DENORMAL. Я понимаю, что это неплохие исключения. Я получаю сообщения:

PAUSE Чтобы возобновить выполнение, введите go. Другой ввод прекратит работу. Примечание. Следующие исключения с плавающей запятой являются сигнальными: IEEE_UNDERFLOW_FLAG IEEE_DENORMAL

Есть ли способ указать gfortran игнорировать эти исключения, если они на самом деле являются причиной?

1 Ответ

1 голос
/ 17 июня 2020

Маловероятно, что эти исключения приостанавливают ваш код, хотя, не видя ни одного вашего кода, это невозможно сказать.

Более вероятно, что ваш код содержит инструкцию pause , и что компилятор использует возможность приостановки, чтобы сообщить вам, что IEEE_UNDERFLOW_FLAG и IEEE_DENORMAL были пойманы.

Если вы все еще хотите отключить эти исключения, взгляните на параметры отладки gfortran . ffpe-summary= контролирует, какие исключения печатаются (что, вероятно, происходит в вашем случае), а ffpe-trap= контролирует, какие исключения вызывают завершение работы вашей программы (что, вероятно, не происходит в вашем случае).

...