- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
My Fortran programs have way too much output
and on occasion they throw output format error messages which require a click OK and then it continues (and can pete and repete frequently!)
obviously i can then fix the issue
but
would love to simply see **** in the output and it carry on without any message
anyone had similar issues and a quick fix workaround?
thanks!
brian
Intel® Fortran Compiler Package ID: w_oneAPI_2022.2.0.9540
Intel® Fortran Compiler – toolkit version: 2022.3.0, extension version 22.0.0068.17, Package ID: w_oneAPI_2022.2.0.9540, Copyright © 2002-2022 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
Ссылка скопирована
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
Your question confuses me, the "which require a click OK" is not a behaviour I have seen in IFORT or IFX unless there is some obscure setting. I have just searched and found nothing. It seem more like the program has an error handler that is doing this. The default behaviour is to write **** or if the option /check:output_conversion is set to crash. Note IFORT has that option IFX does not.
Maybe you should show a simple program (and build options) that shows the problem.
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
Thanks for the response, sorry for the confusion, let me try to clarify:
Write statements sometimes have a field overflow in the exe created with Intel Fortran.
Generally too small a field if a number goes large
When the runtime error is encountered, A popup dialog errror message is generated by Intel fortran and says
'fortran error, output conversion error, unit XXX,
(see attached, which is sent by a user so low resolution)
i know (and normally do) modify the format so it doesn't happen
And these issues are relatively rare as they occur when an input issue occurs, etc so not for the general case
BUT I would prefer to just have it write **** in the format space and continue and ignore the error.
I know i can try to write a 'catch all' routine to 'catch' errors but you'd think/hope there'd be a compiler option to simply ignore output format statement problems in the runtime code.
That is what i am looking for.
Thanks again for your response
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
That is a crash!
Consider the code snippet below.
R = 10000.0
write(*,'(F4.0)', iostat = istat ) R
write(*,'(F4.0)') R
Line 2 writes **** and sets the variable istat to an error code. You can do something based on that non-zero code or ignore it.
Line 3 writes **** and then crashes with a runtime error. The exact behaviour depends on the setting of /check:output_conversion
- Отметить как новое
- Закладка
- Подписаться
- Отключить
- Подписка на RSS-канал
- Выделить
- Печать
- Сообщить о недопустимом содержимом
thanks
i was hoping that a compiler option might avoid having to go into all the code and insert iostat, etc in the write statements
since some of the code older and so a lot of write's without any 'if something happens, go here' (which one could wimple set it to the next statement!
but guess may need to it the bullet and get ALL the code with proper handling
thanks again
brian

- Подписка на RSS-канал
- Отметить тему как новую
- Отметить тему как прочитанную
- Выполнить отслеживание данной Тема для текущего пользователя
- Закладка
- Подписаться
- Страница в формате печати