Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28477 Discussions

Is there a compiler option to suppress runtime output format error messages?

mchenry__brian
Beginner
495 Views

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.

 

0 Kudos
4 Replies
andrew_4619
Honored Contributor II
476 Views

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.

    

0 Kudos
mchenry__brian
Beginner
471 Views

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 

0 Kudos
andrew_4619
Honored Contributor II
467 Views

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

  

0 Kudos
mchenry__brian
Beginner
449 Views

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

 

0 Kudos
Reply