- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page