Quantcast
Channel: Intel® Software - Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2746

Remark 8577

$
0
0

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


Viewing all articles
Browse latest Browse all 2746

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>