Remark 8577

Remark 8577

Hi: We're reading a file using a format recommended by the supplier of the file. The simplified code is:

real a
read ( 10, '(e11.0)' ) a

When this is compiled with ifort 13.1.1 (linux) or 13.1.0.149 (windows), the compiler produces the remark 8577:

remark #8577: The scale factor (k) and number of fractional digits (d) do not have the allowed combination of either -d < k < 0 or 0 < k < d+2. Expect asterisks as output.
  read ( 10, '(e11.0)' ) a
-------------------^

This message is curious for two reasons:

  1. It is in an input statement, not an output statement.
  2. By default, the scale factor k is 0, so clearly neither case can succeed with d=0:
    -0 < 0 < 0 (false)
    0 < 0 < 2 (false)
    However, if we change the format to e11.1, then this remark goes away. But, even in that case, it should still not pass the stated conditions:
    -1 < 0 < 0 (false)
    0 < 0 < 3 (false)
    It seems like unless you change the scale factor, you can't ever avoid this remark.
    Our old IBM AIX XL Fortran manual gives the condition:
      -d < k <= 0 or 0 < k < d+2
    which would at least allow the e11.1 case

So, we're a bit confused by the remark. Are we misunderstanding what it is trying to tell us?

Thanks,
Allen

Allen
5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The compiler doesn't really take into account whether it's a read or write when putting out this message. I suggest using F11.0 here. You don't want to use E11.1 as that would imply one fraction digit if the input field didn't have a decimal point.

The message is (mostly) correct as far as the rules of the standard go. The standard says "Other values are not permitted", so E11.0 is not an allowed format by the standard. However, you are correct that the first expression shown in the remark has a typo in it. I will let the developers know.

Steve - Intel Developer Support

Got it. Thanks for the clarification.
Allen

Allen

We are planning to correct this error message in the next major version which is currently scheduled for later this year.

Quote:

Annalee (Intel) wrote:

We are planning to correct this error message in the next major version which is currently scheduled for later this year.

I appreciate the feedback. Thanks!

Allen

Leave a Comment

Please sign in to add a comment. Not a member? Join today